diff --git a/p2p/protocol/internal/circuitv1-deprecated/relay.go b/p2p/protocol/internal/circuitv1-deprecated/relay.go
index <HASH>..<HASH> 100644
--- a/p2p/protocol/internal/circuitv1-deprecated/relay.go
+++ b/p2p/protocol/internal/circuitv1-deprecated/relay.go
@@ -107,12 +107,12 @@ func (r *Relay) rmLiveHop(from, to peer.ID) {
 	r.lhLk.Lock()
 	defer r.lhLk.Unlock()
 
-	r.lhCount--
 	trg, ok := r.liveHops[from]
 	if !ok {
 		return
 	}
 
+	r.lhCount--
 	delete(trg, to)
 	if len(trg) == 0 {
 		delete(r.liveHops, from)
Only decrement hop counter when actually removing live hop