diff --git a/quic/core/quic_config.cc b/quic/core/quic_config.cc
index 5cd0061..644c8f0 100644
--- a/quic/core/quic_config.cc
+++ b/quic/core/quic_config.cc
@@ -911,30 +911,6 @@
   return alternate_server_address_ipv4_.GetReceivedValue();
 }
 
-void QuicConfig::SetAlternateServerAddressToSend(
-    const QuicSocketAddress& alternate_server_address) {
-  if (alternate_server_address.host().IsIPv6()) {
-    SetIPv6AlternateServerAddressToSend(alternate_server_address);
-  } else if (alternate_server_address.host().IsIPv4()) {
-    SetIPv4AlternateServerAddressToSend(alternate_server_address);
-  } else {
-    QUIC_BUG << "Cannot use SetAlternateServerAddressToSend with "
-             << alternate_server_address;
-  }
-}
-
-bool QuicConfig::HasReceivedAlternateServerAddress() const {
-  return HasReceivedIPv6AlternateServerAddress() ||
-         HasReceivedIPv4AlternateServerAddress();
-}
-
-const QuicSocketAddress& QuicConfig::ReceivedAlternateServerAddress() const {
-  if (HasReceivedIPv6AlternateServerAddress()) {
-    return ReceivedIPv6AlternateServerAddress();
-  }
-  return ReceivedIPv4AlternateServerAddress();
-}
-
 void QuicConfig::SetStatelessResetTokenToSend(
     QuicUint128 stateless_reset_token) {
   stateless_reset_token_.SetSendValue(stateless_reset_token);
diff --git a/quic/core/quic_config.h b/quic/core/quic_config.h
index 4caba41..a46af4d 100644
--- a/quic/core/quic_config.h
+++ b/quic/core/quic_config.h
@@ -463,12 +463,6 @@
   bool HasReceivedIPv4AlternateServerAddress() const;
   const QuicSocketAddress& ReceivedIPv4AlternateServerAddress() const;
 
-  // DEPRECATED: use the variants that specify the address family (IPv4/IPv6).
-  void SetAlternateServerAddressToSend(
-      const QuicSocketAddress& alternate_server_address);
-  bool HasReceivedAlternateServerAddress() const;
-  const QuicSocketAddress& ReceivedAlternateServerAddress() const;
-
   void SetStatelessResetTokenToSend(QuicUint128 stateless_reset_token);
 
   bool HasReceivedStatelessResetToken() const;
