diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 0bbceaa..1dc7f94 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -2627,12 +2627,7 @@
 
 void QuicConnection::NeuterUnencryptedPackets() {
   sent_packet_manager_.NeuterUnencryptedPackets();
-  if (!fix_missing_initial_keys_ &&
-      GetQuicReloadableFlag(
-          quic_neuter_initial_packet_in_coalescer_with_initial_key_discarded) &&
-      version().CanSendCoalescedPackets()) {
-    QUIC_RELOADABLE_FLAG_COUNT(
-        quic_neuter_initial_packet_in_coalescer_with_initial_key_discarded);
+  if (!fix_missing_initial_keys_ && version().CanSendCoalescedPackets()) {
     coalesced_packet_.NeuterInitialPacket();
   }
   // This may have changed the retransmission timer, so re-arm it.
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index 27c6908..1d55c1a 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -11296,8 +11296,6 @@
 // Regression test for b/166255274
 TEST_P(QuicConnectionTest,
        ReserializeInitialPacketInCoalescerAfterDiscardingInitialKey) {
-  SetQuicReloadableFlag(
-      quic_neuter_initial_packet_in_coalescer_with_initial_key_discarded, true);
   if (!connection_.version().CanSendCoalescedPackets() ||
       !GetQuicReloadableFlag(quic_fix_missing_initial_keys2)) {
     // Cannot set quic_fix_missing_initial_keys in the test since connection_ is
@@ -11326,9 +11324,6 @@
     // Flush pending ACKs.
     connection_.GetAckAlarm()->Fire();
   }
-  // If not setting
-  // quic_neuter_initial_packet_in_coalescer_with_initial_key_discarded, there
-  // will be pending frames in the creator.
   EXPECT_FALSE(connection_.packet_creator().HasPendingFrames());
   // The ACK frame is deleted along with initial_packet_ in coalescer. Sending
   // connection close would cause this (released) ACK frame be serialized (and
