diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 6591a87..509bae5 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -37,8 +37,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_allow_client_enabled_bbr_v2, false)
 // If true, always starts a new ack aggregation epoch if a full round has passed since the start of the current epoch.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr_start_new_aggregation_epoch_after_a_full_round, true)
-// If true, avoid calling reloadable flags in QuicVersionManager constructor by lazily initializing internal state.
-QUIC_FLAG(FLAGS_quic_restart_flag_quic_lazy_quic_version_manager, true)
 // If true, change QuicCryptoServerStream::FinishProcessingHandshakeMessageAfterProcessClientHello to noop if connection is disconnected.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_crypto_noop_if_disconnected_after_process_chlo, true)
 // If true, clear undecryptable packets on handshake complete.
diff --git a/quic/core/quic_version_manager.cc b/quic/core/quic_version_manager.cc
index 58c0c51..1c8784b 100644
--- a/quic/core/quic_version_manager.cc
+++ b/quic/core/quic_version_manager.cc
@@ -15,27 +15,9 @@
 
 QuicVersionManager::QuicVersionManager(
     ParsedQuicVersionVector supported_versions)
-    : lazy_(GetQuicRestartFlag(quic_lazy_quic_version_manager)),
-      disable_version_rfcv1_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_rfcv1)),
-      disable_version_draft_29_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_draft_29)),
-      disable_version_t051_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_t051)),
-      disable_version_q050_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_q050)),
-      disable_version_q046_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_q046)),
-      disable_version_q043_(
-          lazy_ ? true : GetQuicReloadableFlag(quic_disable_version_q043)),
-      allowed_supported_versions_(std::move(supported_versions)) {
+    : allowed_supported_versions_(std::move(supported_versions)) {
   static_assert(SupportedVersions().size() == 6u,
                 "Supported versions out of sync");
-  if (lazy_) {
-    QUIC_RESTART_FLAG_COUNT(quic_lazy_quic_version_manager);
-  } else {
-    RefilterSupportedVersions();
-  }
 }
 
 QuicVersionManager::~QuicVersionManager() {}
diff --git a/quic/core/quic_version_manager.h b/quic/core/quic_version_manager.h
index 501ecc5..50c61eb 100644
--- a/quic/core/quic_version_manager.h
+++ b/quic/core/quic_version_manager.h
@@ -57,23 +57,19 @@
   void AddCustomAlpn(const std::string& alpn);
 
  private:
-  // Cached value of gfe2_restart_flag_quic_lazy_quic_version_manager for
-  // brevity.
-  const bool lazy_;
-
   // Cached value of reloadable flags.
   // quic_disable_version_rfcv1 flag
-  bool disable_version_rfcv1_;
+  bool disable_version_rfcv1_ = true;
   // quic_disable_version_draft_29 flag
-  bool disable_version_draft_29_;
+  bool disable_version_draft_29_ = true;
   // quic_disable_version_t051 flag
-  bool disable_version_t051_;
+  bool disable_version_t051_ = true;
   // quic_disable_version_q050 flag
-  bool disable_version_q050_;
+  bool disable_version_q050_ = true;
   // quic_disable_version_q046 flag
-  bool disable_version_q046_;
+  bool disable_version_q046_ = true;
   // quic_disable_version_q043 flag
-  bool disable_version_q043_;
+  bool disable_version_q043_ = true;
 
   // The list of versions that may be supported.
   const ParsedQuicVersionVector allowed_supported_versions_;
