diff --git a/net/swarm/conn.go b/net/swarm/conn.go
index cbe7cd7981e1561b1f2fa6ab3f08842c8dfc923d..35fbcaa49325c75edaca10be672ac605d7ba71b1 100644
--- a/net/swarm/conn.go
+++ b/net/swarm/conn.go
@@ -114,7 +114,10 @@ func (s *Swarm) connSetup(c *conn.Conn) error {
 	log.Debug("%s secured connection: %s", c.Local, c.Remote)
 
 	// add address of connection to Peer. Maybe it should happen in connSecure.
-	c.Remote.AddAddress(c.Conn.RemoteMultiaddr())
+	// NOT adding this address here, because the incoming address in TCP
+	// is an EPHEMERAL address, and not the address we want to keep around.
+	// addresses should be figured out through the DHT.
+	// c.Remote.AddAddress(c.Conn.RemoteMultiaddr())
 
 	if err := s.connVersionExchange(c); err != nil {
 		return fmt.Errorf("Conn version exchange error: %v", err)