diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 4af2c7c49c71470eca7d661bd5c398675dfccfb1..2110a11eb2cbecdfcbdabc4f6871558c464c9ae1 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -192,7 +192,7 @@ function spip_log($message, $logname='spip') {
 	}
 	$f = @fopen($logfile, "ab");
 	if ($f) {
-		fputs($f, htmlspecialchars($message));
+		fputs($f, ($message));
 		fclose($f);
 	}
 	if ($rotate) {
diff --git a/ecrire/public.php b/ecrire/public.php
index ca711546e0d87d1e8350f921e724a3e8fab8ea95..0f8142bc9e5e8757de67221a9db965f4ed79c1de 100644
--- a/ecrire/public.php
+++ b/ecrire/public.php
@@ -92,7 +92,8 @@ if (defined('_INC_PUBLIC')) {
 
 	// est-on admin ?
 	if ($affiche_boutons_admin = (
-	$_COOKIE['spip_admin']
+	$_COOKIE['spip_admin'] 
+	AND !$flag_preserver
 	AND ($html OR ($var_mode == 'debug') OR count($tableau_des_erreurs))
 	))
 		include_spip('balise/formulaire_admin');
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index 537ff21f74fff48a210c1206d321d58c8b73c378..3c6a26744675817c82cd730330c60aa59c6844b5 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -245,7 +245,6 @@ function balise_COMPTEUR_BOUCLE_dist($p) {
 
 function balise_TOTAL_BOUCLE_dist($p) {
 	$b = $p->nom_boucle ? $p->nom_boucle : $p->descr['id_mere'];
-#	spip_log("tb '$b'");
 	if ($b === '' || !isset($p->boucles[$b])) {
 		erreur_squelette(
 			_T('zbug_champ_hors_boucle',
@@ -796,7 +795,6 @@ function balise_CHEMIN_dist($p) {
 // La syntaxe #ENV{toto, rempl} renverra 'rempl' si $toto est vide
 //
 function balise_ENV_dist($p, $src = NULL) {
-
 	// le tableau de base de la balise (cf #META ci-dessous)
 	if (!$src) $src = '$Pile[0]';
 
diff --git a/ecrire/public/calcul.php b/ecrire/public/calcul.php
index 01e2585d24684d2a1927e64dc2d7927bdf77c726..5ca8f3846ab90e69cda2b58c0a5ea74d88a0e528 100644
--- a/ecrire/public/calcul.php
+++ b/ecrire/public/calcul.php
@@ -102,6 +102,7 @@ function charger_squelette ($squelette, $mime_type, $gram, $sourcefile) {
 		if ($GLOBALS['var_mode'] == 'debug') {
 			debug_dumpfile ($skel_code, $nom, 'code');
 		}
+		spip_log($skel_code);
 		eval('?'.'>'.$skel_code);
 		if (function_exists($nom)) {
 			ecrire_fichier ($phpfile, $skel_code);
diff --git a/ecrire/public/global.php b/ecrire/public/global.php
index 5cab4446000e5ce5a95e1347faa8eb46691272cb..3bb7d1301b2ac3fc5a362fddbda852e551e6918a 100644
--- a/ecrire/public/global.php
+++ b/ecrire/public/global.php
@@ -261,6 +261,9 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) {
 
 		if (is_array($page['entetes']))
 			foreach($page['entetes'] as $k => $v) {
+			  // ceci se discute
+			  // if ((strtolower($k) != 'content-type')
+			  // OR !isset( $GLOBALS['page']['entetes'][$k])
 				$GLOBALS['page']['entetes'][$k] = $v;
 			}