diff --git a/quic/quartc/quartc_dispatcher.cc b/quic/quartc/quartc_dispatcher.cc
index e6e9c2b..240ddc1 100644
--- a/quic/quartc/quartc_dispatcher.cc
+++ b/quic/quartc/quartc_dispatcher.cc
@@ -14,7 +14,6 @@
 QuartcDispatcher::QuartcDispatcher(
     std::unique_ptr<QuicConfig> config,
     std::unique_ptr<QuicCryptoServerConfig> crypto_config,
-    QuicStringPiece crypto_config_serialized,
     QuicVersionManager* version_manager,
     std::unique_ptr<QuicConnectionHelperInterface> helper,
     std::unique_ptr<QuicCryptoServerStream::Helper> session_helper,
@@ -33,7 +32,6 @@
               .length()),
       owned_quic_config_(std::move(config)),
       owned_crypto_config_(std::move(crypto_config)),
-      crypto_config_(crypto_config_serialized),
       delegate_(delegate),
       packet_writer_(packet_writer.get()) {
   // Allow incoming packets to set our expected connection ID length.
diff --git a/quic/quartc/quartc_dispatcher.h b/quic/quartc/quartc_dispatcher.h
index 239b6ef..d1128d6 100644
--- a/quic/quartc/quartc_dispatcher.h
+++ b/quic/quartc/quartc_dispatcher.h
@@ -32,7 +32,6 @@
   QuartcDispatcher(
       std::unique_ptr<QuicConfig> config,
       std::unique_ptr<QuicCryptoServerConfig> crypto_config,
-      QuicStringPiece crypto_config_serialized,
       QuicVersionManager* version_manager,
       std::unique_ptr<QuicConnectionHelperInterface> helper,
       std::unique_ptr<QuicCryptoServerStream::Helper> session_helper,
@@ -50,14 +49,10 @@
   void OnTransportCanWrite() override;
   void OnTransportReceived(const char* data, size_t data_len) override;
 
-  // A serialized server config in quic wire format.
-  QuicStringPiece server_crypto_config() const { return crypto_config_; }
-
  private:
   // Members owned by QuartcDispatcher but not QuicDispatcher.
   std::unique_ptr<QuicConfig> owned_quic_config_;
   std::unique_ptr<QuicCryptoServerConfig> owned_crypto_config_;
-  std::string crypto_config_;
 
   // Delegate invoked when the dispatcher creates a new session.
   Delegate* delegate_;
diff --git a/quic/quartc/quartc_endpoint.cc b/quic/quartc/quartc_endpoint.cc
index a77595f..faee615 100644
--- a/quic/quartc/quartc_endpoint.cc
+++ b/quic/quartc/quartc_endpoint.cc
@@ -166,8 +166,8 @@
   DCHECK(pre_connection_helper_ != nullptr);
   dispatcher_ = QuicMakeUnique<QuartcDispatcher>(
       QuicMakeUnique<QuicConfig>(CreateQuicConfig(config_)),
-      std::move(crypto_config_.config), crypto_config_.serialized_crypto_config,
-      version_manager_.get(), std::move(pre_connection_helper_),
+      std::move(crypto_config_.config), version_manager_.get(),
+      std::move(pre_connection_helper_),
       QuicMakeUnique<QuartcCryptoServerStreamHelper>(),
       QuicMakeUnique<QuartcAlarmFactoryWrapper>(alarm_factory_),
       QuicMakeUnique<QuartcPacketWriter>(packet_transport,
