diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index f6681becd8414dc96e35390051b9b8da092919f3..c460a2fc0be700e3f0040d4d779879e562841801 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1184,18 +1184,6 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 		recuperer_cookies_spip($GLOBALS['cookie_prefix']);
 	}
 
-	// Le navigateur accepte-t-il l'ajax ?
-	define('_SPIP_AJAX',  (!isset($_COOKIE['spip_accepte_ajax']))
-		? 1
-	       : (($_COOKIE['spip_accepte_ajax'] != -1) ? 1 : 0));
-
-	// La requete est-elle en ajax ?
-	define('_AJAX',
-		isset($_SERVER['HTTP_X_REQUESTED_WITH']) # ajax jQuery
-		OR @$_REQUEST['var_ajax_redir'] # redirection 302 apres ajax jQuery
-		OR @$_REQUEST['var_ajaxcharset'] # compat ascendante pour plugins
-	);
-
 	//
 	// Capacites php (en fonction de la version)
 	//
@@ -1264,6 +1252,29 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 	// s'il y a un cookie ou PHP_AUTH, initialiser visiteur_session
 	if (_FILE_CONNECT) verifier_visiteur();
 
+	// Gestion AJAX sauf pour le mode oo espace prive
+
+	if (isset($GLOBALS['visiteur_session']['prefs'])AND !_DIR_RESTREINT) {
+		$x = unserialize($GLOBALS['visiteur_session']['prefs']);
+		if ($x['display'] == 4) {
+			define('_SPIP_AJAX', -1);
+			if (isset($_COOKIE['spip_accepte_ajax']))
+				spip_setcookie('spip_accepte_ajax', -1, 0);
+		}
+	}
+
+	if (!defined('_SPIP_AJAX'))
+		define('_SPIP_AJAX', ((!isset($_COOKIE['spip_accepte_ajax']))
+			? 1
+		       : (($_COOKIE['spip_accepte_ajax'] != -1) ? 1 : 0)));
+
+	// La requete est-elle en ajax ?
+	define('_AJAX',
+		isset($_SERVER['HTTP_X_REQUESTED_WITH']) # ajax jQuery
+		OR @$_REQUEST['var_ajax_redir'] # redirection 302 apres ajax jQuery
+		OR @$_REQUEST['var_ajaxcharset'] # compat ascendante pour plugins
+	);
+
 	# nombre de pixels maxi pour calcul de la vignette avec gd
 	# au dela de 5500000 on considere que php n'est pas limite en memoire pour cette operation
 	# les configurations limitees en memoire ont un seuil plutot vers 1MPixel
diff --git a/ecrire/oo/index.php b/ecrire/oo/index.php
index 2d243d96063ed3ab7bef0c4b40afca4ec1ec03f6..cde596cea35ed19665e650a9188d6f43c1d5e842 100644
--- a/ecrire/oo/index.php
+++ b/ecrire/oo/index.php
@@ -3,6 +3,6 @@
 // ACCESSIBILITE
 // la page /oo offre une lecture en mode "texte seul"
 
-header("Location: ../?action=preferer&arg=display:4");
+header("Location: ../?action=preferer&arg=display:4&redirect=" . urlencode(str_replace('/oo','', $_SERVER['REQUEST_URI'])));
 
 ?>