diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 93e7ac54c10c837fafa23c3774c8233722066307..8208a1d74dcb1ee3f249f46b0423ca14a3d97652 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1634,6 +1634,12 @@ function recuperer_fond($fond, $contexte=array(), $options = array(), $connect='
 	// (trim etait le 3eme argument, par defaut a true)
 	if (!is_array($options)) $options = array('trim'=>$options);
 	if (!isset($options['trim'])) $options['trim']=true;
+
+	if (isset($contexte['connect'])){
+		$connect = ($connect ? $connect : $contexte['connect']);
+		unset($contexte['connect']);
+	}
+
 	if (isset($options['modele']))
 		$contexte = creer_contexte_de_modele($contexte);
 
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index 8229c37d907b75dbd2d69b288e493f15efa6e777..b73c4987d49b98c5c696b453539117a6c47451f5 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -985,14 +985,12 @@ function balise_INCLURE_dist($p) {
 		$_l = 'array(' . join(",\n\t", $_contexte) .')';
 		if ($flag_env) $_l = "array_merge(\$Pile[0],$_l)";
 
-		$_connect = _q(!$id_boucle ? '' : $p->boucles[$id_boucle]->sql_serveur);
-
 		$_options = array();
 		if (isset($_contexte['ajax'])) $_options[] = "'ajax'=>true";
 		if ($p->etoile) $_options[] = "'etoile'=>true";
 		$_options = "array(" . join(',',$_options) . ")";
 		
-		$p->code = "recuperer_fond('',\$l =  $_l, $_options, $_connect)";
+		$p->code = "recuperer_fond('',\$l =  $_l, $_options)";
 
 	} elseif (!isset($_contexte[1])) {
 			erreur_squelette(_T('zbug_balise_sans_argument', 
diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php
index 4b2891e7c7434e4577c737b148c9b92cfc3a09e6..d7c7dd7261a89672db986d42047b119f164309eb 100644
--- a/ecrire/public/compiler.php
+++ b/ecrire/public/compiler.php
@@ -93,6 +93,15 @@ function argumenter_inclure($params, $rejet_filtres, $descr, &$boucles, $id_bouc
 			}
 		}
 	}
+	// si pas de connect explicite, on transmet celui de la boucle courante
+	//
+	if (!isset($l['connect'])
+		AND $connect = (!$id_boucle ? '' : $boucles[$id_boucle]->sql_serveur)
+	  AND !in_array($connect,$GLOBALS['exception_des_connect'])){
+		$l['connect'] = ($echap?"\'connect\' => ' . argumenter_squelette(":"'connect' => ")
+			. "'$connect'" . ($echap? ") . '":" ");
+	}
+
 	// Cas particulier de la langue : si {lang=xx} est definie, on
 	// la passe, sinon on passe la langue courante au moment du calcul
 	// sauf si on n'en veut pas 
diff --git a/ecrire/public/interfaces.php b/ecrire/public/interfaces.php
index 1949ad0b3876217ccd5280a9d2b28c4dfae9b767..d0dfef3b4b18496fc03000e9fe7212e8ddd4fbdf 100644
--- a/ecrire/public/interfaces.php
+++ b/ecrire/public/interfaces.php
@@ -154,6 +154,8 @@ class Polyglotte {
 global $table_criteres_infixes;
 $table_criteres_infixes = array('<', '>', '<=', '>=', '==', '===', '!=', '!==', '<>',  '?');
 
+global $exception_des_connect;
+$exception_des_connect[] = ''; // ne pas transmettre le connect='' par les inclure
 //
 // Globales de description de la base