diff --git a/ecrire/inc_cron.php3 b/ecrire/inc_cron.php3
index a8f45d5a543beb22197bac99bf5586adee9f42e2..510de041f36ed816437b5f9549f9b805148671ad 100644
--- a/ecrire/inc_cron.php3
+++ b/ecrire/inc_cron.php3
@@ -68,15 +68,25 @@ function spip_cron($taches = array()) {
 
 	// Quelle est la tache la plus urgente ?
 	$tache = '';
+	$tmin = $t;
 	clearstatcache();
 	foreach ($taches as $nom => $periode) {
 		$lock = _DIR_SESSIONS . $nom . '.lock';
 		$date_lock = @filemtime($lock);
-		if ($date_lock + $periode < $t) {
-			$t = $date_lock + $periode;
+
+		if ($date_lock + $periode < $tmin) {
+			$tmin = $date_lock + $periode;
 			$tache = $nom;
 			$last = $date_lock;
 		}
+		// debug : si la date du fichier est superieure a l'heure actuelle,
+		// c'est que le serveur a (ou a eu) des problemes de reglage horaire
+		// qui peuvent mettre en peril les taches cron : signaler dans le log
+		// (On laisse toutefois flotter sur une heure, pas la peine de s'exciter
+		// pour si peu)
+		else if ($date_lock > $t + 3600)
+			spip_log("Erreur de date du fichier $lock : $date_lock > $t !");
+
 	}
 	if (!$tache) return;