diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h
index 3d29a68..b3a6bc6 100755
--- a/quiche/common/quiche_feature_flags_list.h
+++ b/quiche/common/quiche_feature_flags_list.h
@@ -46,7 +46,6 @@
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_include_datagrams_in_willing_to_write, false, false, "If true, checks for queued datagrams when determining if a connection is willing to write.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_maybe_copy_datagram_frames, false, true, "If true, maybe copy datagram frames in QuicUnackedPacketMap.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_move_clock_now, false, false, "If true, move the call to clock.Now() in QuicPacketReader::ReadAndDispatchPackets to after socket_api_.ReadMultiplePackets().")
-QUICHE_FLAG(bool, quiche_reloadable_flag_quic_neuter_packets_on_migration, true, true, "If ture, QuicSentPacketManager::OnConnectionMigration will call old_send_algorithm->OnPacketNeutered on all inflight packets.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_no_write_control_frame_upon_connection_close, false, true, "If trrue, early return before write control frame in OnCanWrite() if the connection is already closed.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_no_write_control_frame_upon_connection_close2, false, true, "If true, QuicSession will block outgoing control frames when the connection is closed.")
 QUICHE_FLAG(bool, quiche_reloadable_flag_quic_not_instantiate_unused_qpack_send_stream, true, true, "When qpack_maximum_dynamic_table_capacity is zero, don't bother to instantiate the unused QpackSendStream.")
diff --git a/quiche/quic/core/quic_sent_packet_manager.cc b/quiche/quic/core/quic_sent_packet_manager.cc
index 41ad223..c41c424 100644
--- a/quiche/quic/core/quic_sent_packet_manager.cc
+++ b/quiche/quic/core/quic_sent_packet_manager.cc
@@ -1292,10 +1292,7 @@
         MarkForRetransmission(packet_number, PATH_RETRANSMISSION);
         QUICHE_DCHECK_EQ(it->state, NOT_CONTRIBUTING_RTT);
       }
-      if (neuter_packets_on_migration_) {
-        QUIC_RELOADABLE_FLAG_COUNT(quic_neuter_packets_on_migration);
-        old_send_algorithm->OnPacketNeutered(packet_number);
-      }
+      old_send_algorithm->OnPacketNeutered(packet_number);
     }
     it->state = NOT_CONTRIBUTING_RTT;
   }
diff --git a/quiche/quic/core/quic_sent_packet_manager.h b/quiche/quic/core/quic_sent_packet_manager.h
index a007eba..b9bbe92 100644
--- a/quiche/quic/core/quic_sent_packet_manager.h
+++ b/quiche/quic/core/quic_sent_packet_manager.h
@@ -772,9 +772,6 @@
   // used to prevent the execution of ECN-specific code unless flag-protected
   // code has explicitly enabled it.
   bool ecn_queried_ = false;
-
-  const bool neuter_packets_on_migration_ =
-      GetQuicReloadableFlag(quic_neuter_packets_on_migration);
 };
 
 }  // namespace quic
diff --git a/quiche/quic/core/quic_sent_packet_manager_test.cc b/quiche/quic/core/quic_sent_packet_manager_test.cc
index 1d04fc3..a5792ed 100644
--- a/quiche/quic/core/quic_sent_packet_manager_test.cc
+++ b/quiche/quic/core/quic_sent_packet_manager_test.cc
@@ -1474,13 +1474,7 @@
                         HAS_RETRANSMITTABLE_DATA, true, ECN_NOT_ECT);
   EXPECT_EQ(BytesInFlight(), kDefaultLength);
 
-  if (GetQuicReloadableFlag(quic_neuter_packets_on_migration)) {
-    EXPECT_CALL(*send_algorithm_, OnPacketNeutered(QuicPacketNumber(1)))
-        .Times(1);
-  } else {
-    EXPECT_CALL(*send_algorithm_, OnPacketNeutered(QuicPacketNumber(1)))
-        .Times(0);
-  }
+  EXPECT_CALL(*send_algorithm_, OnPacketNeutered(QuicPacketNumber(1))).Times(1);
 
   std::unique_ptr<SendAlgorithmInterface> old_send_algorithm =
       manager_.OnConnectionMigration(/*reset_send_algorithm=*/true);
@@ -1491,9 +1485,6 @@
 // Regression test for b/323150773.
 TEST_F(QuicSentPacketManagerTest,
        NoInflightBytesAfterConnectionMigrationWithResetBBR2Sender) {
-  if (!GetQuicReloadableFlag(quic_neuter_packets_on_migration)) {
-    return;
-  }
   manager_.SetSendAlgorithm(CongestionControlType::kBBRv2);
 
   SerializedPacket packet(QuicPacketNumber(1), PACKET_4BYTE_PACKET_NUMBER,
