diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 25df532..cf08d32 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -199,7 +199,6 @@
     AddToCache("/foo", 200, kFooResponseBody);
     AddToCache("/bar", 200, kBarResponseBody);
     // Enable fixes for bugs found in tests and prod.
-    SetQuicReloadableFlag(quic_fix_packet_number_length, true);
     SetQuicRestartFlag(quic_enable_tls_resumption_v4, true);
     SetQuicRestartFlag(quic_enable_zero_rtt_for_tls_v2, true);
   }
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index c1e3985..4677258 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -3267,11 +3267,6 @@
   encryption_level_ = level;
   packet_creator_.set_encryption_level(level);
 
-  if (!sent_packet_manager_.fix_packet_number_length()) {
-    return;
-  }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_packet_number_length, 2, 2);
-
   if (!changing_level) {
     return;
   }
diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index bf17acd..4606486 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -1508,10 +1508,6 @@
 
 QuicPacketNumber QuicSentPacketManager::GetLeastPacketAwaitedByPeer(
     EncryptionLevel encryption_level) const {
-  if (!fix_packet_number_length_) {
-    return GetLeastUnacked();
-  }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_packet_number_length, 1, 2);
   QuicPacketNumber largest_acked;
   if (supports_multiple_packet_number_spaces()) {
     largest_acked = GetLargestAckedPacket(encryption_level);
diff --git a/quic/core/quic_sent_packet_manager.h b/quic/core/quic_sent_packet_manager.h
index 1279c87..a5181ab 100644
--- a/quic/core/quic_sent_packet_manager.h
+++ b/quic/core/quic_sent_packet_manager.h
@@ -438,8 +438,6 @@
 
   void OnUserAgentIdKnown() { loss_algorithm_->OnUserAgentIdKnown(); }
 
-  bool fix_packet_number_length() const { return fix_packet_number_length_; }
-
  private:
   friend class test::QuicConnectionPeer;
   friend class test::QuicSentPacketManagerPeer;
@@ -696,9 +694,6 @@
   // The multiplier for caculating PTO timeout before any RTT sample is
   // available.
   float pto_multiplier_without_rtt_samples_;
-
-  const bool fix_packet_number_length_ =
-      GetQuicReloadableFlag(quic_fix_packet_number_length);
 };
 
 }  // namespace quic
