diff --git a/ecrire/inc/visites.php b/ecrire/inc/visites.php
index a326f2f82a6150ef1cbca56b80cb0efe1c6a481e..ada56d5c5befc8a54112b9ab4e31275d74056aa2 100644
--- a/ecrire/inc/visites.php
+++ b/ecrire/inc/visites.php
@@ -69,13 +69,14 @@ function calculer_visites($t) {
 	$compteur = 100;
 	$date_init = time()-30*60;
 
-	while (--$compteur > 0
-	AND list(,$item) = each($sessions)) {
+	foreach ($sessions as $item) {
 		if (@filemtime($item) < $date_init) {
 			spip_log("traite la session $item");
 			compte_fichier_visite($item,
 				$visites, $visites_a, $referers, $referers_a, $articles);
 			@unlink($item);
+			if (--$compteur <= 0)
+				break;
 		}
 		#else spip_log("$item pas vieux");
 	}