diff --git a/p2p/discv5/net.go b/p2p/discv5/net.go index 2137d0168e42..a9deb7118dd1 100644 --- a/p2p/discv5/net.go +++ b/p2p/discv5/net.go @@ -1036,6 +1036,11 @@ func (net *Network) handle(n *Node, ev nodeEvent, pkt *ingressPacket) error { net.db.ensureExpirer() } } + if ev == pongTimeout { + // Clean up after pong timeout. + n.pingEcho = nil + n.pingTopics = nil + } if n.state == nil { n.state = unknown //??? }