diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 3263eb9..6d6c93a 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -4234,19 +4234,15 @@
   QuicTime earliest_ack_timeout =
       uber_received_packet_manager_.GetEarliestAckTimeout();
   QUIC_BUG_IF(!earliest_ack_timeout.IsInitialized());
-  if (GetQuicReloadableFlag(quic_bundle_crypto_data_with_initial_ack)) {
-    // On the server side, sends INITIAL data with INITIAL ACK. On the client
-    // side, sends HANDSHAKE data (containing client Finished) with HANDSHAKE
-    // ACK.
-    PacketNumberSpace space =
-        perspective() == Perspective::IS_SERVER ? INITIAL_DATA : HANDSHAKE_DATA;
-    MaybeBundleCryptoDataWithAckOfSpace(space);
-    earliest_ack_timeout =
-        uber_received_packet_manager_.GetEarliestAckTimeout();
-    if (!earliest_ack_timeout.IsInitialized()) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_bundle_crypto_data_with_initial_ack);
-      return;
-    }
+  // On the server side, sends INITIAL data with INITIAL ACK. On the client
+  // side, sends HANDSHAKE data (containing client Finished) with HANDSHAKE
+  // ACK.
+  PacketNumberSpace space =
+      perspective() == Perspective::IS_SERVER ? INITIAL_DATA : HANDSHAKE_DATA;
+  MaybeBundleCryptoDataWithAckOfSpace(space);
+  earliest_ack_timeout = uber_received_packet_manager_.GetEarliestAckTimeout();
+  if (!earliest_ack_timeout.IsInitialized()) {
+    return;
   }
   // Latches current encryption level.
   const EncryptionLevel current_encryption_level = encryption_level_;
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index ace423a..b9f1fc5 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -11256,18 +11256,11 @@
   // Receives packet 1002 in initial data.
   ProcessCryptoPacketAtLevel(1002, ENCRYPTION_INITIAL);
   EXPECT_FALSE(writer_->ack_frames().empty());
-  if (GetQuicReloadableFlag(quic_bundle_crypto_data_with_initial_ack)) {
-    // Verify CRYPTO frame is bundled with INITIAL ACK.
-    EXPECT_FALSE(writer_->crypto_frames().empty());
-    // Verify PTO time changes.
-    EXPECT_NE(expected_pto_time,
-              connection_.sent_packet_manager().GetRetransmissionTime());
-  } else {
-    EXPECT_TRUE(writer_->crypto_frames().empty());
-    // Verify PTO time does not change.
-    EXPECT_EQ(expected_pto_time,
-              connection_.sent_packet_manager().GetRetransmissionTime());
-  }
+  // Verify CRYPTO frame is bundled with INITIAL ACK.
+  EXPECT_FALSE(writer_->crypto_frames().empty());
+  // Verify PTO time changes.
+  EXPECT_NE(expected_pto_time,
+            connection_.sent_packet_manager().GetRetransmissionTime());
 }
 
 TEST_P(QuicConnectionTest, ClientBundlesHandshakeDataWithHandshakeAck) {
@@ -11300,12 +11293,8 @@
   // Receives packet 1002 in handshake data.
   ProcessCryptoPacketAtLevel(1002, ENCRYPTION_HANDSHAKE);
   EXPECT_FALSE(writer_->ack_frames().empty());
-  if (GetQuicReloadableFlag(quic_bundle_crypto_data_with_initial_ack)) {
-    // Verify CRYPTO frame is bundled with HANDSHAKE ACK.
-    EXPECT_FALSE(writer_->crypto_frames().empty());
-  } else {
-    EXPECT_TRUE(writer_->crypto_frames().empty());
-  }
+  // Verify CRYPTO frame is bundled with HANDSHAKE ACK.
+  EXPECT_FALSE(writer_->crypto_frames().empty());
 }
 
 // Regresstion test for b/156232673.
