diff --git a/ecrire/inc_majbase.php3 b/ecrire/inc_majbase.php3
index c6e2c9a85f3e2ffd237cf829769fc9733d894d6d..1cc2328d9bd8d25d982a77104d73855bdcb243b0 100644
--- a/ecrire/inc_majbase.php3
+++ b/ecrire/inc_majbase.php3
@@ -26,7 +26,6 @@ function maj_base() {
 	$result = spip_query("SELECT valeur FROM spip_meta WHERE nom='version_installee'");
 	if ($result) if ($row = spip_fetch_array($result)) $version_installee = (double) $row['valeur'];
 
-	echo "'$version_installee' '$spip_version'";
 	//
 	// Si pas de version mentionnee dans spip_meta, c'est qu'il s'agit
 	// d'une nouvelle installation
diff --git a/inc-compilo.php3 b/inc-compilo.php3
index 32b27de4d88722d0b92518a99066e1a2648a9571..5caa9efaa919c32ed3d1b704609ab4502e5f6059 100644
--- a/inc-compilo.php3
+++ b/inc-compilo.php3
@@ -233,6 +233,13 @@ function calculer_boucle($id_boucle, &$boucles) {
 	if ($boucle->mode_partie)
 		$corps .= "\n		}\n";
 
+	$texte = '';
+
+	// Gestion de la hierarchie (voir inc-boucles.php3)
+	if ($boucle->hierarchie)
+		$texte .= "\n	".$boucle->hierarchie;
+
+
 	// si le corps est une constante, ne pas appeler le serveur N fois!
 	if (ereg("^\(?'[^']*'\)?$",$corps)) {
 		// vide ?
@@ -246,20 +253,8 @@ function calculer_boucle($id_boucle, &$boucles) {
 			$corps = "\n		".'for($x=$Numrows["'.$id_boucle.'"];$x>0;$x--)
 			$t0 .= ' . $corps .';';
 		}
-		$texte = '';
 	} else {
 
-	// Gestion de la hierarchie (voir inc-boucles.php3)
-	if ($boucle->hierarchie)
-		$texte .= "\n	".$boucle->hierarchie;
-
-	// Recherche : recuperer les hash a partir de la chaine de recherche
-	if ($boucle->hash) {
-		$texte .=  '
-	// RECHERCHE
-	list($rech_select, $rech_where) = prepare_recherche($GLOBALS["recherche"], "'.$boucle->primary.'", "'.$boucle->id_table.'");';
-	}
-
 	$corps = '
 
 	// RESULTATS
@@ -278,20 +273,23 @@ function calculer_boucle($id_boucle, &$boucles) {
 	//
 	// Requete
 	//
-	$init = "\n\n	// REQUETE\n	";
 
 	// hack critere recherche : ignorer la requete en cas de hash vide
-	if ($boucle->hash)
-		$init .= "if (\$rech_select) ";
-
-	$init .= "\$result = ";
-
+	// Recherche : recuperer les hash a partir de la chaine de recherche
+	if ($boucle->hash) {
+		$init =  '
+	// RECHERCHE
+	list($rech_select, $rech_where) = prepare_recherche($GLOBALS["recherche"], "'.$boucle->primary.'", "'.$boucle->id_table.'");
+	if ($rech_select) ';
+	}
 
-	// En absence de champ c'est un decompte : 
-	// on prend la primary pour avoir qqch
-	// car le COUNT incompatible avec le cas general
+	else $init = '';
 
-	$init .= "spip_abstract_select(\n\t\tarray(\"". 
+	$init .= "\n\n	// REQUETE
+	\$result = spip_abstract_select(\n\t\tarray(\"". 
+		# En absence de champ c'est un decompte : 
+	  	# prendre la primary pour avoir qqch
+	  	# (COUNT incompatible avec le cas general
 		(($boucle->select) ? 
 			join("\",\n\t\t\"", array_unique($boucle->select)) :
 			$id_field) .