diff --git a/quiche/quic/core/congestion_control/send_algorithm_interface.h b/quiche/quic/core/congestion_control/send_algorithm_interface.h
index 75c69a2..2979528 100644
--- a/quiche/quic/core/congestion_control/send_algorithm_interface.h
+++ b/quiche/quic/core/congestion_control/send_algorithm_interface.h
@@ -39,13 +39,11 @@
         : bandwidth(bandwidth),
           rtt(rtt),
           allow_cwnd_to_decrease(allow_cwnd_to_decrease) {}
-    explicit NetworkParams(int burst_token) : burst_token(burst_token) {}
 
     bool operator==(const NetworkParams& other) const {
       return bandwidth == other.bandwidth && rtt == other.rtt &&
              max_initial_congestion_window ==
                  other.max_initial_congestion_window &&
-             burst_token == other.burst_token &&
              allow_cwnd_to_decrease == other.allow_cwnd_to_decrease &&
              is_rtt_trusted == other.is_rtt_trusted;
     }
@@ -53,7 +51,6 @@
     QuicBandwidth bandwidth = QuicBandwidth::Zero();
     QuicTime::Delta rtt = QuicTime::Delta::Zero();
     int max_initial_congestion_window = 0;
-    int burst_token = 0;
     bool allow_cwnd_to_decrease = false;
     bool is_rtt_trusted = false;
   };
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index b38510b..083ec08 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -6,8 +6,6 @@
 
 #ifdef QUIC_FLAG
 
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_set_burst_token, false)
-
 QUIC_FLAG(FLAGS_quic_restart_flag_quic_offload_pacing_to_usps2, false)
 // A testonly reloadable flag that will always default to false.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_testonly_default_false, false)
diff --git a/quiche/quic/core/quic_sent_packet_manager.cc b/quiche/quic/core/quic_sent_packet_manager.cc
index dc78e64..47e7863 100644
--- a/quiche/quic/core/quic_sent_packet_manager.cc
+++ b/quiche/quic/core/quic_sent_packet_manager.cc
@@ -396,18 +396,6 @@
 
 void QuicSentPacketManager::AdjustNetworkParameters(
     const SendAlgorithmInterface::NetworkParams& params) {
-  if (params.burst_token != 0) {
-    if (using_pacing_) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_set_burst_token);
-      int old_burst_size = pacing_sender_.initial_burst_size();
-      pacing_sender_.SetBurstTokens(params.burst_token);
-      if (debug_delegate_ != nullptr) {
-        debug_delegate_->OnAdjustBurstSize(old_burst_size,
-                                           pacing_sender_.initial_burst_size());
-      }
-    }
-    return;
-  }
   const QuicBandwidth& bandwidth = params.bandwidth;
   const QuicTime::Delta& rtt = params.rtt;
 
