diff --git a/scheduler/scheduler.go b/scheduler/scheduler.go
index 1b7e43397797abe2e15fd32400ddecd7157128fd..d11b59635b42be28bfdad9eee61413cb6d23ada0 100644
--- a/scheduler/scheduler.go
+++ b/scheduler/scheduler.go
@@ -23,7 +23,7 @@ func New() *Scheduler {
 func (s *Scheduler) Add(event PeriodicEvent) {
 	// Schedule the task at some random point in the future during its
 	// first interval, so that all tasks are scattered equally.
-	intervalFrac := time.Duration(event.Interval().Seconds() * rand.Float64())
+	intervalFrac := time.Duration(event.Interval().Seconds()*rand.Float64()) * time.Second
 	when := time.Now().Add(intervalFrac)
 	s.scheduleCh <- &timerData{
 		event: event,