diff --git a/cmd/alertmanager/main.go b/cmd/alertmanager/main.go
index e11af9b9..f58ec1d0 100644
--- a/cmd/alertmanager/main.go
+++ b/cmd/alertmanager/main.go
@@ -515,6 +515,19 @@ func run() int {
 					r.Key(),
 				)
 			}
+
+			if r.RouteOpts.RepeatInterval < r.RouteOpts.GroupInterval {
+				level.Warn(configLogger).Log(
+					"msg",
+					"repeat_interval is less than group_interval. Notifications will not repeat until the next group_interval.",
+					"repeat_interval",
+					r.RouteOpts.RepeatInterval,
+					"group_interval",
+					r.RouteOpts.GroupInterval,
+					"route",
+					r.Key(),
+				)
+			}
 		})
 
 		go disp.Run()
diff --git a/docs/configuration.md b/docs/configuration.md
index 6d5ca011..15e85af4 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -197,7 +197,7 @@ matchers:
 # Note that this parameter is implicitly bound by Alertmanager's
 # `--data.retention` configuration flag. Notifications will be resent after either
 # repeat_interval or the data retention period have passed, whichever
-# occurs first.
+# occurs first. `repeat_interval` should not be less than `group_interval`.
 [ repeat_interval: <duration> | default = 4h ]
 
 # Times when the route should be muted. These must match the name of a