diff --git a/inc-criteres.php3 b/inc-criteres.php3
index b4a99591efd96bc3a71ed54c00335f2f80397c33..a1512b5ce58e4701bd3c03004af309a2d8dd3abd 100644
--- a/inc-criteres.php3
+++ b/inc-criteres.php3
@@ -604,16 +604,16 @@ function calculer_critere_DEFAUT($idb, &$boucles, $crit) {
 
 	//	if (($op != '=') || !calculer_critere_repete($boucle, $ct, $val[0])) # a revoir
 	if (strtoupper($op) == 'IN') {
-	      $val = join(" .\n\"','\" . ", $val);
 	  
-	      $where = "$ct IN ('\" . $val . \"')";
+	      $where = "$ct IN ('\" . " . join(" .\n\"','\" . ", $val) . " . \"')";
 	      if ($crit->not) {
 		$where = "NOT ($where)";
 	      } else {
 			$boucle->default_order = array('rang');
-			$boucle->select[]= "FIND_IN_SET($ct, \\\"'\" . " . $val . ' . "\'\\") AS rang';
+			$boucle->select[]= "FIND_IN_SET($ct, '\" . " . 
+			  join(" .\n\",\" . ", $val) . ' . "\') AS rang';
 	      }
-	    } else {
+	} else {
 		  if ($op == '==') $op = 'REGEXP';
 		  $where = "($ct $op '\" . " . $val[0] . ' . "\')';
 		  if ($crit->not) $where = "NOT $where";