diff --git a/kms/kms.go b/kms/kms.go
index babd4151dc80a7eba262aafe0ad39563a7ea8a61..3c924a44cd0d81e5e60852f09c15ba91a75b7da5 100644
--- a/kms/kms.go
+++ b/kms/kms.go
@@ -25,6 +25,7 @@ type Qkdnkms interface {
 	GlobalKeyHandler(time.Duration) error
 	AddPeer(kmsPeerSocket string, servingQLE *QuantumElement)
 	RemovePeer(kmsPeerSocket string)
+	FindPeerUuid(uuid.UUID) *kmsPeer
 }
 
 type qlElementLinkID int
@@ -190,3 +191,15 @@ func (kms *EKMS) AddExternalNotifierQLE(in chan uint32) {
 func (kms *EKMS) AddExternalNotifierKMSPeer(in chan string) {
 	kms.externalNotifierKMSPeer = in
 }
+
+func (kms *EKMS) FindPeerUuid(lookup uuid.UUID) (peer *kmsPeer) {
+	if kms.KmsPeers != nil {
+		for _, peer = range kms.KmsPeers {
+			if peer.id == lookup {
+				return peer
+			}
+		}
+	}
+
+	return nil
+}