diff --git a/server/rotation.go b/server/rotation.go
index 5619b3a70e32b3d9f5182725f12be950c01f03c6..c7c8712630dc3af97a868b8f7d336920607ec642 100644
--- a/server/rotation.go
+++ b/server/rotation.go
@@ -5,7 +5,6 @@ import (
 	"crypto/rand"
 	"crypto/rsa"
 	"encoding/hex"
-	"errors"
 	"fmt"
 	"io"
 	"time"
@@ -125,8 +124,11 @@ func (k keyRotater) rotate() error {
 	var nextRotation time.Time
 	err = k.Storage.UpdateKeys(func(keys storage.Keys) (storage.Keys, error) {
 		tNow := k.now()
+
+		// if you are running multiple instances of dex, another instance
+		// could have already rotated the keys.
 		if tNow.Before(keys.NextRotation) {
-			return storage.Keys{}, errors.New("keys already rotated")
+			return storage.Keys{}, nil
 		}
 
 		expired := func(key storage.VerificationKey) bool {