diff --git a/ecrire/inc_db_mysql.php b/ecrire/inc_db_mysql.php
index fbe30a76b18f10daa7914b814863673daa64331a..3ee30eaa6def5929029ee59f0e1cec3fc40a7e5a 100644
--- a/ecrire/inc_db_mysql.php
+++ b/ecrire/inc_db_mysql.php
@@ -77,6 +77,9 @@ function spip_mysql_select($select, $from, $where,
 			   $sousrequete, $having,
 			   $table, $id, $serveur) {
 
+	foreach($where as $k => $v)
+	  { if (!$v) unset($where[$k]);}
+
 	$q = ($from  ?("\nFROM " . join(",\n\t", $from)) : '')
 	  .  ($where ? ("\nWHERE " . join("\n\tAND ", $where)) : '')
 	  .  ($groupby ? "\nGROUP BY $groupby" : '')
diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php
index ce9f53d95593ae0233915ddb61abf7576e341070..94017f2b540fadfe0459c6c235600436a56340d8 100644
--- a/ecrire/public/criteres.php
+++ b/ecrire/public/criteres.php
@@ -512,7 +512,7 @@ function calculer_critere_DEFAUT($idb, &$boucles, $crit)
 	  $where :
 	 ("\".(" . 
 	  calculer_argument_precedent($idb, $col, $boucles) .
-	  "? \"$where\" : '0=0').\"");
+	  "? (\"$where\") : '').\"");
 }
 
 function calculer_critere_infixe($idb, &$boucles, $crit) {