diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php
index b97d623ae0196a017130aa158b81c62be3cc2c5e..662ef5b76f5e785d381885c57fca38ff67d64d5f 100644
--- a/ecrire/public/compiler.php
+++ b/ecrire/public/compiler.php
@@ -912,7 +912,7 @@ function compiler_squelette($squelette, $boucles, $nom, $descr, $sourcefile, $co
 			}
 
 			if ($g = charger_fonction(
-			'creer_boucle_'.$boucle->type_requete, 'public', true)) {
+			'creer_boucle_'.preg_replace('/\W/', '_', $boucle->type_requete), 'public', true)) {
 				$boucles[$id] = $g($boucle);
 
 			} else if ($show) {