diff --git a/plugins/autopeering/types/peerregister/peer_register.go b/plugins/autopeering/types/peerregister/peer_register.go index b90608dd84d1063e2352002af1109da3bd813a09..4b233d9491a1d33a5579f12aa2538f76693e20a9 100644 --- a/plugins/autopeering/types/peerregister/peer_register.go +++ b/plugins/autopeering/types/peerregister/peer_register.go @@ -73,7 +73,9 @@ func (this *PeerRegister) Remove(key string, lock ...bool) { if len(lock) == 0 || lock[0] { defer this.Lock()() - if peerEntry, exists := this.Peers[key]; exists { + // needs to be updated after locking + peerEntry, exists = this.Peers[key] + if exists { delete(this.Peers, key) this.Events.Remove.Trigger(peerEntry)