diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index da9f6d4..22fe8cc 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -191,17 +191,11 @@
       QUIC_CODE_COUNT(two_aggressive_ptos);
       num_tlp_timeout_ptos_ = 2;
     }
-    if (GetQuicReloadableFlag(quic_arm_pto_with_earliest_sent_time)) {
-      if (config.HasClientSentConnectionOption(kPLE1, perspective) ||
-          config.HasClientSentConnectionOption(kTLPR, perspective)) {
-        QUIC_RELOADABLE_FLAG_COUNT_N(quic_arm_pto_with_earliest_sent_time, 1,
-                                     2);
-        first_pto_srtt_multiplier_ = 0.5;
-      } else if (config.HasClientSentConnectionOption(kPLE2, perspective)) {
-        QUIC_RELOADABLE_FLAG_COUNT_N(quic_arm_pto_with_earliest_sent_time, 2,
-                                     2);
-        first_pto_srtt_multiplier_ = 1.5;
-      }
+    if (config.HasClientSentConnectionOption(kPLE1, perspective) ||
+        config.HasClientSentConnectionOption(kTLPR, perspective)) {
+      first_pto_srtt_multiplier_ = 0.5;
+    } else if (config.HasClientSentConnectionOption(kPLE2, perspective)) {
+      first_pto_srtt_multiplier_ = 1.5;
     }
     if (config.HasClientSentConnectionOption(kPSDA, perspective)) {
       use_standard_deviation_for_pto_ = true;
diff --git a/quic/core/quic_sent_packet_manager_test.cc b/quic/core/quic_sent_packet_manager_test.cc
index e59446d..5996539 100644
--- a/quic/core/quic_sent_packet_manager_test.cc
+++ b/quic/core/quic_sent_packet_manager_test.cc
@@ -3326,7 +3326,6 @@
 }
 
 TEST_F(QuicSentPacketManagerTest, ComputingProbeTimeoutByLeftEdge) {
-  SetQuicReloadableFlag(quic_arm_pto_with_earliest_sent_time, true);
   EnablePto(k1PTO);
   // Use PTOS and PLE1.
   QuicConfig config;
@@ -3401,7 +3400,6 @@
 }
 
 TEST_F(QuicSentPacketManagerTest, ComputingProbeTimeoutByLeftEdge2) {
-  SetQuicReloadableFlag(quic_arm_pto_with_earliest_sent_time, true);
   EnablePto(k1PTO);
   // Use PTOS and PLE2.
   QuicConfig config;
@@ -3522,7 +3520,6 @@
 
 TEST_F(QuicSentPacketManagerTest,
        ComputingProbeTimeoutByLeftEdgeMultiplePacketNumberSpaces) {
-  SetQuicReloadableFlag(quic_arm_pto_with_earliest_sent_time, true);
   manager_.EnableMultiplePacketNumberSpacesSupport();
   EnablePto(k1PTO);
   // Use PTOS and PLE1.
@@ -3598,7 +3595,6 @@
 
 TEST_F(QuicSentPacketManagerTest,
        ComputingProbeTimeoutByLeftEdge2MultiplePacketNumberSpaces) {
-  SetQuicReloadableFlag(quic_arm_pto_with_earliest_sent_time, true);
   manager_.EnableMultiplePacketNumberSpacesSupport();
   EnablePto(k1PTO);
   // Use PTOS and PLE2.
