diff --git a/quic/core/quic_connection_id.cc b/quic/core/quic_connection_id.cc
index 67b5d13..c2a8754 100644
--- a/quic/core/quic_connection_id.cc
+++ b/quic/core/quic_connection_id.cc
@@ -144,18 +144,6 @@
 }
 
 size_t QuicConnectionId::Hash() const {
-  if (!GetQuicRestartFlag(quic_connection_id_use_siphash)) {
-    uint64_t data_bytes[3] = {0, 0, 0};
-    static_assert(sizeof(data_bytes) >= kQuicMaxConnectionIdAllVersionsLength,
-                  "kQuicMaxConnectionIdAllVersionsLength changed");
-    memcpy(data_bytes, data(), length_);
-    // This Hash function is designed to return the same value as the host byte
-    // order representation when the connection ID length is 64 bits.
-    return QuicEndian::NetToHost64(kQuicDefaultConnectionIdLength ^ length_ ^
-                                   data_bytes[0] ^ data_bytes[1] ^
-                                   data_bytes[2]);
-  }
-  QUIC_RESTART_FLAG_COUNT(quic_connection_id_use_siphash);
   static const QuicConnectionIdHasher hasher = QuicConnectionIdHasher();
   return hasher.Hash(data(), length_);
 }
diff --git a/quic/core/quic_connection_id_test.cc b/quic/core/quic_connection_id_test.cc
index d80babb..df73630 100644
--- a/quic/core/quic_connection_id_test.cc
+++ b/quic/core/quic_connection_id_test.cc
@@ -92,12 +92,6 @@
 
   // Verify that any two all-zero connection IDs of different lengths never
   // have the same hash.
-  if (sizeof(connection_id64_1.Hash()) < sizeof(uint64_t) &&
-      !GetQuicRestartFlag(quic_connection_id_use_siphash)) {
-    // The old hashing algorithm returns 0 for all-zero connection IDs on
-    // 32bit platforms.
-    return;
-  }
   const char connection_id_bytes[kQuicMaxConnectionIdAllVersionsLength] = {};
   for (uint8_t i = 0; i < sizeof(connection_id_bytes) - 1; ++i) {
     QuicConnectionId connection_id_i(connection_id_bytes, i);
