diff --git a/api.go b/api.go
index 1bf3edb..ac5f2a3 100644
--- a/api.go
+++ b/api.go
@@ -348,7 +348,7 @@ func (h *Headscale) RegistrationHandler(
 
 		machine.Expiry = &time.Time{}
 		h.registrationCache.Set(
-			machineKeyStr,
+			NodePublicKeyStripPrefix(registerRequest.NodeKey),
 			*machine,
 			registerCacheExpiration,
 		)
diff --git a/machine.go b/machine.go
index 0f291de..1a48a3e 100644
--- a/machine.go
+++ b/machine.go
@@ -803,7 +803,7 @@ func (h *Headscale) RegisterMachineFromAuthCallback(
 			)
 
 			if err == nil {
-				h.registrationCache.Delete(machineKeyStr)
+				h.registrationCache.Delete(nodeKeyStr)
 			}
 
 			return machine, err