diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index b47e528..93c36cd 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -3728,14 +3728,10 @@
   SendCryptoPacket(1);
   SendPingPacket(2, ENCRYPTION_INITIAL);
   // Crypto data has been discarded but ping does not.
-  if (GetQuicReloadableFlag(quic_neuter_unencrypted_control_frames)) {
-    EXPECT_CALL(notifier_, OnFrameAcked(_, _, _))
-        .Times(2)
-        .WillOnce(Return(false))
-        .WillOnce(Return(true));
-  } else {
-    EXPECT_CALL(notifier_, OnFrameAcked(_, _, _)).Times(0);
-  }
+  EXPECT_CALL(notifier_, OnFrameAcked(_, _, _))
+      .Times(2)
+      .WillOnce(Return(false))
+      .WillOnce(Return(true));
   EXPECT_CALL(notifier_, IsFrameOutstanding(_)).WillRepeatedly(Return(false));
   if (GetQuicReloadableFlag(
           quic_avoid_overestimate_bandwidth_with_aggregation)) {
diff --git a/quic/core/quic_unacked_packet_map.cc b/quic/core/quic_unacked_packet_map.cc
index efb8e65..8276f1c 100644
--- a/quic/core/quic_unacked_packet_map.cc
+++ b/quic/core/quic_unacked_packet_map.cc
@@ -222,16 +222,10 @@
       RemoveFromInFlight(packet_number);
       it->state = NEUTERED;
       neutered_packets.push_back(packet_number);
-      if (GetQuicReloadableFlag(quic_neuter_unencrypted_control_frames) ||
-          supports_multiple_packet_number_spaces_) {
-        if (GetQuicReloadableFlag(quic_neuter_unencrypted_control_frames)) {
-          QUIC_RELOADABLE_FLAG_COUNT(quic_neuter_unencrypted_control_frames);
-        }
-        // Notify session that the data has been delivered (but do not notify
-        // send algorithm).
-        // TODO(b/148868195): use NotifyFramesNeutered.
-        NotifyFramesAcked(*it, QuicTime::Delta::Zero(), QuicTime::Zero());
-      }
+      // Notify session that the data has been delivered (but do not notify
+      // send algorithm).
+      // TODO(b/148868195): use NotifyFramesNeutered.
+      NotifyFramesAcked(*it, QuicTime::Delta::Zero(), QuicTime::Zero());
       DCHECK(!HasRetransmittableFrames(*it));
     }
   }
