diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index b439ac0..80b8aee 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -1503,11 +1503,6 @@
   }
 
   if (IsVersionNegotiation(header, packet_has_ietf_packet_header)) {
-    if (!GetQuicRestartFlag(quic_server_drop_version_negotiation)) {
-      QUIC_DVLOG(1) << ENDPOINT << "Received version negotiation packet";
-      return ProcessVersionNegotiationPacket(&reader, header);
-    }
-    QUIC_RESTART_FLAG_COUNT_N(quic_server_drop_version_negotiation, 1, 2);
     if (perspective_ == Perspective::IS_CLIENT) {
       QUIC_DVLOG(1) << "Client received version negotiation packet";
       return ProcessVersionNegotiationPacket(&reader, header);
@@ -5623,12 +5618,6 @@
 bool QuicFramer::IsVersionNegotiation(
     const QuicPacketHeader& header,
     bool packet_has_ietf_packet_header) const {
-  if (perspective_ == Perspective::IS_SERVER) {
-    if (!GetQuicRestartFlag(quic_server_drop_version_negotiation)) {
-      return false;
-    }
-    QUIC_RESTART_FLAG_COUNT_N(quic_server_drop_version_negotiation, 2, 2);
-  }
   if (!packet_has_ietf_packet_header &&
       perspective_ == Perspective::IS_CLIENT) {
     return header.version_flag;
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index a3be0be..094ffa4 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -5706,9 +5706,6 @@
 }
 
 TEST_P(QuicFramerTest, VersionNegotiationPacketServer) {
-  if (!GetQuicRestartFlag(quic_server_drop_version_negotiation)) {
-    return;
-  }
   if (framer_.transport_version() < QUIC_VERSION_44) {
     return;
   }
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc
index 1c19cb1..8d7e1c9 100644
--- a/quic/core/quic_versions.cc
+++ b/quic/core/quic_versions.cc
@@ -439,7 +439,6 @@
   SetQuicReloadableFlag(quic_tolerate_reneging, true);
   SetQuicReloadableFlag(quic_simplify_stop_waiting, true);
   SetQuicRestartFlag(quic_no_server_conn_ver_negotiation2, true);
-  SetQuicRestartFlag(quic_server_drop_version_negotiation, true);
   SetQuicRestartFlag(quic_allow_variable_length_connection_id_for_negotiation,
                      true);
   SetQuicRestartFlag(quic_do_not_override_connection_id, true);
