diff --git a/src/color.c b/src/color.c
index 39355ca7fe0c7647717468b0c0714e40a3cff88a..d7888697533ed92fde1a45af64a7095c1120d387 100644
--- a/src/color.c
+++ b/src/color.c
@@ -376,6 +376,11 @@ void reset_multis(filestruct *fileptr, bool force)
 
 	/* If we got here, things have changed. */
 	reset_multis_for_id(fileptr, tmpcolor->id);
+
+	/* If start and end are the same, push the resets further. */
+	if (force == FALSE && !nobegin && !noend &&
+				startmatch.rm_so == endmatch.rm_so)
+	    reset_multis_for_id(fileptr, tmpcolor->id);
     }
 }