diff --git a/ecrire/inc_statistiques.php3 b/ecrire/inc_statistiques.php3
index 305c08168cae74da14ce1f1130dbb0c54eb77a1e..7954f3b72bd4e155e1e0b5790262c459c3fdadce 100644
--- a/ecrire/inc_statistiques.php3
+++ b/ecrire/inc_statistiques.php3
@@ -177,6 +177,7 @@ function calculer_n_referers($nb_referers) {
 
 	$referer_insert = "";
 	$referer_update = "";
+	$referer_vus = "";
 
 	while ($row = @spip_fetch_array($result)) {
 		$visites = $row['visites'];
@@ -184,8 +185,10 @@ function calculer_n_referers($nb_referers) {
 		$referer_md5 = '0x'.$row['md5'];
 		$referer_update[$visites][] = $referer_md5;
 		$referer_insert[] = "('$date', '$referer', $referer_md5, $visites, $visites)";
-		$referer_vus[] = $referer_md5;
+		$referer_vus .= "," . $referer_md5;
 	}
+	if ($referer_vus) 
+	  $referer_vus = "referer_md5 IN (" . substr($referer_vus,1) . ")";
 
 	// Mise a jour de la base
 	if (is_array($referer_update)) {
@@ -202,9 +205,9 @@ function calculer_n_referers($nb_referers) {
 	}
 
 	// Ventiler ces referers article par article
-	$where = (is_array($referer_vus)) ? "AND referer_md5 IN (".join(',',$referer_vus).")" : "";
-	$query = "SELECT COUNT(DISTINCT ip) AS visites, id_objet, referer, HEX(referer_md5) AS md5 ".
-		"FROM spip_referers_temp WHERE type='article' $where GROUP BY id_objet, referer_md5";
+	$query = "SELECT COUNT(DISTINCT ip) AS visites, id_objet, referer, HEX(referer_md5) AS md5 FROM spip_referers_temp WHERE type='article'"
+		  . ($referer_vus ? " AND $referer_vus" : '')
+		  . " GROUP BY id_objet, referer_md5";
 	$result = spip_query($query);
 
 	$referer_insert = "";
@@ -235,9 +238,8 @@ function calculer_n_referers($nb_referers) {
 	}
 
 	// Effacer les referers traites
-	if (is_array($referer_vus)) {
-		$query_effacer = "DELETE FROM spip_referers_temp WHERE referer_md5 IN (".join(",",$referer_vus).")";
-		$result_effacer = spip_query($query_effacer);
+	if ($referer_vus) {
+	  spip_query("DELETE FROM spip_referers_temp WHERE referer_md5 IN ($referer_vus)");
 	}
 
 	return  $tous ;
diff --git a/inc-stats.php3 b/inc-stats.php3
index a4ab85bc5e66a647873bd1210cacc412e426d3b5..42e11e5b937c4c7a9e3a1d3b0bdfa494b0f770f6 100644
--- a/inc-stats.php3
+++ b/inc-stats.php3
@@ -45,7 +45,7 @@ function ecrire_stats() {
 	$log_referer = $GLOBALS['HTTP_REFERER'];
 	if (($url_site_spip<>'') AND strpos('-'.strtolower($log_referer), strtolower($url_site_spip)) AND !$GLOBALS['var_recherche']) $log_referer = "";
 	if ($log_referer) {
-		$referer_md5 = '0x'.substr(md5($log_referer), 0, 16);
+		$referer_md5 = '0x'.substr(md5($log_referer), 0, 15);
 		$query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ".
 			"VALUES ($log_ip, '$log_referer', $referer_md5, '$log_type', $log_id_num)";
 		spip_query($query);