diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php
index 38c889f33f88620def6e2408006b3750e45cf8d3..46b6d5d200681880725a92a2700bc5c07b50cfe0 100644
--- a/ecrire/public/criteres.php
+++ b/ecrire/public/criteres.php
@@ -924,7 +924,9 @@ function calculer_critere_infixe_ops($idb, &$boucles, $crit)
 			else 
 				foreach ((($op != 'IN') ? $params : calculer_vieux_in($params)) as $p) {
 					$a = calculer_liste($p, $desc, $boucles, $parent);
-					$val[]=($op == 'IN') ? $a : kwote(str_replace("\\'","'",$a));
+					if ($op == 'IN') $val[]= $a;
+					else if ($op == 'REGEXP') $val[]=kwote($a); // garder les echappements des ' dans les REGEXP
+					else $val[]=kwote(str_replace("\\'","'",$a));
 				}
 	}