diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 9606c812a5053b4dda71acef2addb2f255fab0c9..37a5f042e56a359f526cfd15bde6dc42174c5f9c 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -478,14 +478,7 @@ function self($amp = '&', $root = false) {
 // Indique si on est dans l'espace prive
 // http://doc.spip.org/@test_espace_prive
 function test_espace_prive() {
-	static $prive;
-	if (!isset($prive))
-		$prive = (
-			(_DIR_RESTREINT=='')
-			OR (_request('action') !== null)
-			OR (_request('exec') !== null)
-		);
-	return $prive;
+	return defined('_ESPACE_PRIVE') ? _ESPACE_PRIVE : false;
 }
 
 //
diff --git a/ecrire/index.php b/ecrire/index.php
index a6c9870914e5fb45ce18738a3065fe380f05e03d..07010f7839a0efa511f8d7460cce0ffea9fb1a5e 100644
--- a/ecrire/index.php
+++ b/ecrire/index.php
@@ -12,6 +12,7 @@
 
 if (!defined('_ECRIRE_INC_VERSION')) include 'inc_version.php';
 
+define('_ESPACE_PRIVE', true);
 
 // Verification anti magic_quotes_sybase, pour qui addslashes("'") = "''"
 // On prefere la faire ici plutot que dans inc_version, c'est moins souvent et
diff --git a/ecrire/public.php b/ecrire/public.php
index c35a3116f530333e6f05b9d6fa965cbdbf7fd485..0c04b1c59ae8b1f22c4eec12e4998225c7093f1b 100644
--- a/ecrire/public.php
+++ b/ecrire/public.php
@@ -56,6 +56,7 @@ if (defined('_INC_PUBLIC')) {
 		include_spip('inc/headers');
 		$var_f = charger_fonction($action, 'action');
 		$var_f();
+		define('_ESPACE_PRIVE', true);
 		if ($GLOBALS['redirect']
 		OR $GLOBALS['redirect'] = _request('redirect'))
 			redirige_par_entete(urldecode($GLOBALS['redirect']));