diff --git a/ecrire/public/styliser.php b/ecrire/public/styliser.php
index e654dce80e928c1d2dedd0348fc37b069d5f545f..9e904297373eb1e89841e315845208f04d0afb54 100644
--- a/ecrire/public/styliser.php
+++ b/ecrire/public/styliser.php
@@ -41,12 +41,13 @@ function public_styliser_dist($fond, $id_rubrique, $lang='', $connect='', $ext='
 
 	// pas de squelette : erreur !
 	if (!$squelette) {
+		// Indiquer une erreur squelette
 		include_spip('public/debug');
 		erreur_squelette(_T('info_erreur_squelette2',
-			array('fichier'=>"'$fond'")),
+			array('fichier'=>"'$fond.$ext'")),
 			$GLOBALS['dossier_squelettes']);
-		$f = find_in_path(".$ext"); // on ne renvoie rien ici, c'est le resultat vide qui provoquere un 404 si necessaire
-		return array(substr($f, 0, -strlen(".$ext")), $ext, $ext, $f);
+		// provoquer 404
+		return array(null, $ext, $ext, null);
 	}
 
 	return array($squelette, $ext, $ext, "$squelette.$ext");
diff --git a/ecrire/urls/arbo.php b/ecrire/urls/arbo.php
index 9acb9293424542445e8d45996c060f925419cc15..f11398c56bc0dbf652d18b490c1d8bb7f9e65acd 100644
--- a/ecrire/urls/arbo.php
+++ b/ecrire/urls/arbo.php
@@ -534,8 +534,12 @@ function urls_arbo_dist($i, $entite, $args='', $ancre='') {
 		if ($type)
 			$entite =  ($type == 'syndic') ?  'site' : $type;
 		else {
-			$entite = '404';
-			$contexte['erreur'] = ''; // qu'afficher ici ?  l'url n'existe pas... on ne sait plus dire de quel type d'objet il s'agit
+			// Si ca ressemble a une URL d'objet, ce n'est pas la home
+			// et on provoque un 404
+			if (preg_match(',^[^\.]+(\.html)?$,', $url)) {
+				$entite = '404';
+				$contexte['erreur'] = ''; // qu'afficher ici ?  l'url n'existe pas... on ne sait plus dire de quel type d'objet il s'agit
+			}
 		}
 	}
 	define('_SET_HTML_BASE',1);
diff --git a/ecrire/urls/page.php b/ecrire/urls/page.php
index b1de3ec8868f9364c1c60856c66a755fdfb004c4..654a0aee75555ab4c8851c776622faddee501a6f 100644
--- a/ecrire/urls/page.php
+++ b/ecrire/urls/page.php
@@ -91,7 +91,7 @@ function urls_page_dist($i, &$entite, $args='', $ancre='')
 			$urls_anciennes = charger_fonction('propres','urls');
 		else
 			$urls_anciennes = charger_fonction('arbo','urls');
-		return $urls_anciennes($url_propre,$entite);
+		return $urls_anciennes($url_propre, $entite);
 	}
 	/* Fin du bloc compatibilite url-propres */
 }
diff --git a/ecrire/urls/propres.php b/ecrire/urls/propres.php
index edaf65d66cb14f6c1045911ea505327b268a7592..dec6b8bdda87124c819b8cccd6580abbc8b34b7a 100644
--- a/ecrire/urls/propres.php
+++ b/ecrire/urls/propres.php
@@ -447,24 +447,28 @@ function urls_propres_dist($i, $entite, $args='', $ancre='') {
 	}
 
 	if ($entite=='' OR $entite=='type_urls' /* compat .htaccess 2.0 */) {
-		if ($type)
+		if ($type) {
 			$entite =  ($type == 'syndic') ?  'site' : $type;
-		else {
-			$entite = '404';
-			$contexte['erreur'] = '';
-			// l'url n'existe pas...
-			// on ne sait plus dire de quel type d'objet il s'agit
-
-			// sauf si on a le marqueur. et la c'est un peu sale...
-			if (_MARQUEUR_URL) {
-				$fmarqueur = @array_flip(unserialize(_MARQUEUR_URL));
-				preg_match(',^([+][-]|[-+@_]),', $url_propre, $regs);
-				$objet = $regs ? substr($fmarqueur[$regs[1]],0,n-1) : 'article';
-				$contexte['erreur'] = _T(
-					($objet=='rubrique' OR $objet=='breve')
-						? 'public:aucune_'.$objet
-						: 'public:aucun_'.$objet
-				);
+		} else {
+			// Si ca ressemble a une URL d'objet, ce n'est pas la home
+			// et on provoque un 404
+			if (preg_match(',^.*/[^\.]+(\.html)?$,', $url)) {
+				$entite = '404';
+				$contexte['erreur'] = '';
+
+				// l'url n'existe pas...
+				// on ne sait plus dire de quel type d'objet il s'agit
+				// sauf si on a le marqueur. et la c'est un peu sale...
+				if (_MARQUEUR_URL) {
+					$fmarqueur = @array_flip(unserialize(_MARQUEUR_URL));
+					preg_match(',^([+][-]|[-+@_]),', $url_propre, $regs);
+					$objet = $regs ? substr($fmarqueur[$regs[1]],0,n-1) : 'article';
+					$contexte['erreur'] = _T(
+						($objet=='rubrique' OR $objet=='breve')
+							? 'public:aucune_'.$objet
+							: 'public:aucun_'.$objet
+					);
+				}
 			}
 		}
 	}