diff --git a/kms/kms.go b/kms/kms.go
index 818ee585ce9fb05f2f0bc75c2cf4d25e46040316..68a85dd32e448d66274837b261324f81feb6af2c 100644
--- a/kms/kms.go
+++ b/kms/kms.go
@@ -17,6 +17,7 @@ import (
 
 type Qkdnkms interface {
 	AddQuantumElement() *QuantumElement
+	GlobalKeyHandler(time.Duration) error
 }
 
 type qlElementId uint64
@@ -81,7 +82,7 @@ func (kms *eKMS) AddQuantumElement(kmsUDPAddrr string) *QuantumElement {
 	return &qle
 }
 
-func (kms *eKMS) GlobalKeyHandler() error {
+func (kms *eKMS) GlobalKeyHandler(waitTime time.Duration) error {
 
 	// periodically walk through QuantumElements and retrieve their
 	// - local key bulk buffer
@@ -110,7 +111,7 @@ func (kms *eKMS) GlobalKeyHandler() error {
 				kms.QuantumElements[currentQE].keyStoreRemote.KeyChopper256Bit(&bulkKeysLocal)
 			}
 		}
-		time.Sleep(10 * time.Second)
+		time.Sleep(waitTime)
 	}
 }
 
diff --git a/main.go b/main.go
index 402f31d9b0e7acf16ee054ee0e964f05c770f960..eaee39da2650297dda71c8ce1feeddff8cd4aacf 100644
--- a/main.go
+++ b/main.go
@@ -4,6 +4,7 @@ import (
 	"flag"
 	"log"
 	"net"
+	"time"
 
 	"code.fbi.h-da.de/m.stiemerling/proto-kms/kms"
 	"github.com/google/uuid"
@@ -70,5 +71,5 @@ func emulatedKMS(myName string, myUDPAddr string, peerUDPAddr string) {
 	myQL.QuantumElementLink.AddPeer(*udpQL2Addr)
 
 	// TODO/XXX catch errors!
-	emuKMS.GlobalKeyHandler()
+	emuKMS.GlobalKeyHandler(7 * time.Second)
 }