diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h
index 4136886..aa47aa2 100755
--- a/quiche/common/quiche_feature_flags_list.h
+++ b/quiche/common/quiche_feature_flags_list.h
@@ -14,7 +14,6 @@
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_allow_client_enabled_bbr_v2, true, true, "If true, allow client to enable BBRv2 on server via connection option 'B2ON'.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bandwidth_sampler_guard_rtt_subtraction, false, false, "When true, BandwidthSampler::OnPacketAcknowledgedInner() will return early rather than compute a negative RTT.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_extra_acked_window, false, true, "When true, the BBR4 copt sets the extra_acked window to 20 RTTs and BBR5 sets it to 40 RTTs.")
-QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_probe_two_rounds, true, true, "When true, the BB2U copt causes BBR2 to wait two rounds with out draining the queue before exiting PROBE_UP and BB2S has the same effect in STARTUP.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr_always_exit_startup_on_loss, false, false, "Lets BBRv1 exit STARTUP if a large number of packets was lost even if there is no non-app-limited samples. Similar to applying connection option B1AL to all connection.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr_exit_startup_on_loss, false, false, "Enables negotiation of a connection option (B1AL) that lets BBRv1 exit STARTUP if a large number of packets was lost even if there is no non-app-limited sample.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_block_until_settings_received_copt, true, true, "If enabled and a BSUS connection is received, blocks server connections until SETTINGS frame is received.")
diff --git a/quiche/quic/core/congestion_control/bbr2_probe_bw.cc b/quiche/quic/core/congestion_control/bbr2_probe_bw.cc
index 2f6c037..369b339 100644
--- a/quiche/quic/core/congestion_control/bbr2_probe_bw.cc
+++ b/quiche/quic/core/congestion_control/bbr2_probe_bw.cc
@@ -466,7 +466,6 @@
                                      Params().full_bw_threshold);
         if (model_->rounds_with_queueing() >=
             Params().max_probe_up_queue_rounds) {
-          QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_probe_two_rounds, 3, 3);
           is_queuing = true;
         }
       }
diff --git a/quiche/quic/core/congestion_control/bbr2_sender.cc b/quiche/quic/core/congestion_control/bbr2_sender.cc
index bfb2032..0beda68 100644
--- a/quiche/quic/core/congestion_control/bbr2_sender.cc
+++ b/quiche/quic/core/congestion_control/bbr2_sender.cc
@@ -206,14 +206,10 @@
     // so ensure we're not ignoring it.
     params_.probe_up_ignore_inflight_hi = false;
   }
-  if (GetQuicReloadableFlag(quic_bbr2_probe_two_rounds) &&
-      ContainsQuicTag(connection_options, kBB2U)) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_probe_two_rounds, 1, 3);
+  if (ContainsQuicTag(connection_options, kBB2U)) {
     params_.max_probe_up_queue_rounds = 2;
   }
-  if (GetQuicReloadableFlag(quic_bbr2_probe_two_rounds) &&
-      ContainsQuicTag(connection_options, kBB2S)) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_probe_two_rounds, 2, 3);
+  if (ContainsQuicTag(connection_options, kBB2S)) {
     params_.max_startup_queue_rounds = 2;
   }
 }
diff --git a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc
index e79e160..205f102 100644
--- a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc
+++ b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc
@@ -451,7 +451,6 @@
 
 // Add extra_acked to CWND in STARTUP and exit STARTUP on a persistent queue.
 TEST_F(Bbr2DefaultTopologyTest, NormalStartupBB2S) {
-  SetQuicReloadableFlag(quic_bbr2_probe_two_rounds, true);
   SetConnectionOption(kBB2S);
   DefaultTopologyParams params;
   CreateNetwork(params);
@@ -1282,7 +1281,6 @@
 
 // Test Bbr2's reaction to a 100x bandwidth increase during a transfer with BB2U
 TEST_F(Bbr2DefaultTopologyTest, QUIC_SLOW_TEST(BandwidthIncreaseBB2U)) {
-  SetQuicReloadableFlag(quic_bbr2_probe_two_rounds, true);
   SetConnectionOption(kBB2U);
   DefaultTopologyParams params;
   params.local_link.bandwidth = QuicBandwidth::FromKBitsPerSecond(15000);
@@ -1316,7 +1314,6 @@
 // in the presence of ACK aggregation.
 TEST_F(Bbr2DefaultTopologyTest,
        QUIC_SLOW_TEST(BandwidthIncreaseBB2UAggregation)) {
-  SetQuicReloadableFlag(quic_bbr2_probe_two_rounds, true);
   SetConnectionOption(kBB2U);
   DefaultTopologyParams params;
   params.local_link.bandwidth = QuicBandwidth::FromKBitsPerSecond(15000);
@@ -1356,7 +1353,6 @@
 // and BBHI in the presence of ACK aggregation.
 TEST_F(Bbr2DefaultTopologyTest,
        QUIC_SLOW_TEST(BandwidthIncreaseBB2UandBBHIAggregation)) {
-  SetQuicReloadableFlag(quic_bbr2_probe_two_rounds, true);
   SetConnectionOption(kBB2U);
   SetConnectionOption(kBBHI);
   DefaultTopologyParams params;
