diff --git a/whisper/whisperv6/whisper.go b/whisper/whisperv6/whisper.go
index af513888d0780b7b6af064562be97e381adf4ab7..8fe648a7a7f6c1830ae3ef2de8d877e4fb46e816 100644
--- a/whisper/whisperv6/whisper.go
+++ b/whisper/whisperv6/whisper.go
@@ -249,7 +249,10 @@ func (whisper *Whisper) SetBloomFilter(bloom []byte) error {
 	go func() {
 		// allow some time before all the peers have processed the notification
 		defer whisper.wg.Done()
-		time.Sleep(time.Duration(whisper.syncAllowance) * time.Second)
+		ticker := time.NewTicker(time.Duration(whisper.syncAllowance) * time.Second)
+		defer ticker.Stop()
+
+		<-ticker.C
 		whisper.settings.Store(bloomFilterToleranceIdx, b)
 	}()
 
@@ -269,7 +272,10 @@ func (whisper *Whisper) SetMinimumPoW(val float64) error {
 	go func() {
 		defer whisper.wg.Done()
 		// allow some time before all the peers have processed the notification
-		time.Sleep(time.Duration(whisper.syncAllowance) * time.Second)
+		ticker := time.NewTicker(time.Duration(whisper.syncAllowance) * time.Second)
+		defer ticker.Stop()
+
+		<-ticker.C
 		whisper.settings.Store(minPowToleranceIdx, val)
 	}()