diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index 97889707bb727f1230fab9586bc82ddd6646a307..a094f6b976be9a714f357b412b4fbd8dc8767184 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -367,6 +367,8 @@ function recuperer_fond($fond, $contexte=array()) {
 	define ('_INC_PUBLIC', 1);
 	if (($fond=='')&&isset($contexte['fond']))
 		$fond = $contexte['fond'];
+	
+	$contexte['fond'] = $fond; // necessaire pour calculer correctement le cache
 
 	$page = inclure_page($fond, $contexte);
 
diff --git a/ecrire/public/cacher.php b/ecrire/public/cacher.php
index ecdb1c1512067db30affafab2410deca22e3f718..5db5212ba745b81b6637b03ca2c7fad7afd28785 100644
--- a/ecrire/public/cacher.php
+++ b/ecrire/public/cacher.php
@@ -270,7 +270,9 @@ function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$la
 	if ($chemin_cache) return creer_cache($page, $chemin_cache, $use_cache);
 
 	// cas ignorant le cache car complement dynamique
-	if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+	if (($_SERVER['REQUEST_METHOD'] == 'POST')
+		OR (isset($contexte['fond']) AND (substr($contexte['fond'],0,7)=='modeles'))
+	) {
 		$use_cache = -1;
 		$lastmodified = 0;
 		$chemin_cache = "";