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)