diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index e02d7e6357d43ec8a1eff6e2e9b0e313ecad862d..c16075b29f40631005dcf2eaa12f2f3c2ff3f053 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1162,14 +1162,18 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 	// nombre de repertoires depuis la racine
 	// on compare a l'adresse donnee en meta ; si celle-ci est fausse
 	// le calcul est faux. Meilleure idee ??
-	$GLOBALS['profondeur_url'] = !_DIR_RESTREINT
-		? 1
-		: ((isset($_SERVER['REQUEST_URI']) AND isset($GLOBALS['meta']['adresse_site']))
-			? substr_count(reset(explode('?', $_SERVER['REQUEST_URI'])),'/')
-				- substr_count($GLOBALS['meta']['adresse_site'],'/') + 1
-			: 0
-		);
-
+	if (!_DIR_RESTREINT)
+		$GLOBALS['profondeur_url'] = 1;
+	else {
+		$uri = isset($_SERVER['REQUEST_URI']) ? explode('?', $_SERVER['REQUEST_URI']) : '';
+		if (!$uri OR  !isset($GLOBALS['meta']['adresse_site']))
+			$GLOBALS['profondeur_url'] = 0;
+		else {
+			$GLOBALS['profondeur_url'] = max(0, 1+
+				substr_count($uri[0], '/')
+				- substr_count($GLOBALS['meta']['adresse_site'],'/'));
+		}
+	}
 	// s'il y a un cookie ou PHP_AUTH, initialiser auteur_session
 	if (_FILE_CONNECT) verifier_visiteur();