diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index ae975e3fc58fd8d016032f1fa96e80958ec2a10d..362cabd14099477240cc0fbb9f352804358f114b 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -983,11 +983,15 @@ function balise_MODELE_dist($p) {
 		$nom = $_contexte[1];
 		unset($_contexte[1]);
 
+		if (preg_match("/^\s*'[^']*'/s", $nom))
+			$nom = "'modeles/" . substr($nom,1);
+		else $nom = "'modeles/' . $nom";
+
 		// Incoherence dans la syntaxe du contexte. A revoir.
 		// Reserver la cle primaire de la boucle courante si elle existe
-		if ($idb = $p->id_boucle) {
-			if ($primary = $p->boucles[$idb]->primary
-			AND !strpos($primary,',')) {
+		if (isset($p->boucles[$p->id_boucle]->primary)) {
+			$primary = $p->boucles[$p->id_boucle]->primary;
+			if (!strpos($primary,',')) {
 				$id = champ_sql($primary, $p);
 				$_contexte[] = "'$primary'=>".$id;
 				$_contexte[] = "'id'=>".$id;
@@ -1002,7 +1006,7 @@ function balise_MODELE_dist($p) {
 		$_options = "'compil'=>array($_options), 'trim'=>true"
 		  . (isset($_contexte['ajax'])?", 'ajax'=>true":'');
 
-		$page = sprintf(CODE_RECUPERER_FOND, "'modeles/' . $nom", 'array(' . join(',', $_contexte) .')', $_options, _q($connect));
+		$page = sprintf(CODE_RECUPERER_FOND, $nom, 'array(' . join(',', $_contexte) .')', $_options, _q($connect));
 
 		$p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";