diff --git a/quic/core/tls_server_handshaker.cc b/quic/core/tls_server_handshaker.cc
index 6f372df..346e872 100644
--- a/quic/core/tls_server_handshaker.cc
+++ b/quic/core/tls_server_handshaker.cc
@@ -54,11 +54,6 @@
 
   // Configure the SSL to be a server.
   SSL_set_accept_state(ssl());
-
-  if (!SetTransportParameters()) {
-    CloseConnection(QUIC_HANDSHAKE_FAILED,
-                    "Server failed to set Transport Parameters");
-  }
 }
 
 TlsServerHandshaker::~TlsServerHandshaker() {
@@ -155,6 +150,8 @@
   return TlsHandshaker::BufferSizeLimitForLevel(level);
 }
 
+void TlsServerHandshaker::OverrideQuicConfigDefaults(QuicConfig* /*config*/) {}
+
 bool TlsServerHandshaker::SetReadSecret(
     EncryptionLevel level,
     const SSL_CIPHER* cipher,
@@ -390,6 +387,11 @@
     *out_alert = SSL_AD_INTERNAL_ERROR;
     return SSL_TLSEXT_ERR_ALERT_FATAL;
   }
+  OverrideQuicConfigDefaults(session()->config());
+  if (!SetTransportParameters()) {
+    QUIC_LOG(ERROR) << "Failed to set transport parameters";
+    return SSL_TLSEXT_ERR_ALERT_FATAL;
+  }
 
   QUIC_LOG(INFO) << "Set " << chain->certs.size() << " certs for server";
   return SSL_TLSEXT_ERR_OK;
diff --git a/quic/core/tls_server_handshaker.h b/quic/core/tls_server_handshaker.h
index ca8f28e..4141ab6 100644
--- a/quic/core/tls_server_handshaker.h
+++ b/quic/core/tls_server_handshaker.h
@@ -60,6 +60,10 @@
   size_t BufferSizeLimitForLevel(EncryptionLevel level) const override;
 
  protected:
+  // Hook to allow the server to override parts of the QuicConfig based on SNI
+  // before we generate transport parameters.
+  virtual void OverrideQuicConfigDefaults(QuicConfig* config);
+
   const TlsConnection* tls_connection() const override {
     return &tls_connection_;
   }
