diff --git a/ecrire/inc_auth.php3 b/ecrire/inc_auth.php3
index d1991cf1d77116fc2eefa1d7f90820282e6c1e52..52e20298b9b3bca0bfc34a055894fa73cfe6e05b 100644
--- a/ecrire/inc_auth.php3
+++ b/ecrire/inc_auth.php3
@@ -116,7 +116,9 @@ function auth() {
 	// Si pas authentifie, demander login / mdp
 	if (!$auth_login) {
 		$url = urlencode(str_replace('/./', '/',  _DIR_RESTREINT_ABS .$clean_link->getUrl()));
-		redirige_par_entete($addr . "../spip_login.php3?url=$url");
+		redirige_par_entete("../spip_login.php3?url=$url&inscription=" .
+			     ((lire_meta("accepter_inscriptions") == "oui")?
+			      ('spip_inscription.php3') : ''));
 		exit;
 	}
 
@@ -214,7 +216,9 @@ function auth() {
 	}
 
 	if (!$auth_pass_ok) {
-		redirige_par_entete("../spip_login.php3?var_erreur=pass");
+		redirige_par_entete("../spip_login.php3?var_erreur=pass&inscription=" .
+			     ((lire_meta("accepter_inscriptions") == "oui")?
+			      ('spip_inscription.php3') : ''));
 	}
 
 	if ($connect_statut == 'nouveau') {
diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index b32735dcc7f0c1173cb0aff86f1e449330438028..e8101c8939935c82a1a6bc4be375cee4001615eb 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -741,14 +741,4 @@ function http_script($script, $src='', $noscript='') {
 		. "</script>\n"
 		. (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n");
 }
-
-// retourne l'URL du site si les inscriptions sont autorisees... bof
-function inscriptionok($site, $mode) {
-	return ((lire_meta("accepter_inscriptions") == "oui") OR
-		(($mode == 'forum')
-		AND (lire_meta("accepter_visiteurs") == "oui"
-		OR lire_meta('forums_publics') == 'abo'))) ? $site : '';
-}
-
-
 ?>
diff --git a/spip_cookie.php3 b/spip_cookie.php3
index 13a8308d2b59aaf7d32fb1ec781c8e39c5ac3f5b..a0e8d7a71726656d6cf6acdf7eaa78b235e3f3e4 100644
--- a/spip_cookie.php3
+++ b/spip_cookie.php3
@@ -3,6 +3,7 @@
 include ("ecrire/inc_version.php3");
 include_ecrire ("inc_session.php3");
 
+
 // gerer l'auth http
 function auth_http($url, $essai_auth_http) {
 	global $_SERVER;
@@ -48,7 +49,6 @@ if ($change_session == 'oui') {
 		exit;
 	}
 }
-#spip_log("cookie: $url");
 
 if ($url)  $url = urldecode($url);
 
@@ -82,7 +82,10 @@ if ($logout) {
 		unset ($auteur_session);
 	}
 
-	redirige_par_entete($url ? $url : "spip_login.php3");
+	redirige_par_entete($url ? $url :
+			    ("spip_login.php3?url=$url&inscription=" .
+			     ((lire_meta("accepter_inscriptions") == "oui")?
+			      'spip_inscription.php3' : '')));
 }
 
 // en cas de login sur bonjour=oui, on tente de poser un cookie
@@ -91,7 +94,10 @@ if ($logout) {
 if ($test_echec_cookie == 'oui') {
 	spip_setcookie('spip_session', 'test_echec_cookie');
 	redirige_par_entete("spip_login.php3?var_echec_cookie=oui&url=" .
-			    ($url ? $url : _DIR_RESTREINT_ABS));
+			    ($url ? $url : _DIR_RESTREINT_ABS) .
+			    "&inscription=" .
+			     ((lire_meta("accepter_inscriptions") == "oui")?
+			      'spip_inscription.php3' : ''));
 }
 
 // Tentative de login
@@ -141,7 +147,9 @@ if ($essai_login == "oui") {
 	}
 	else {
 		if (ereg(_DIR_RESTREINT_ABS, $redirect)) {
-			$redirect = "spip_login.php3";
+			$redirect = "spip_login.php3?inscription=" .
+			     ((lire_meta("accepter_inscriptions") == "oui")?
+			      'spip_inscription.php3' : '');
 		}
 		$redirect .= (strpos($redirect, "?") ? "&" : "?") . "var_login=$login";
 		if ($session_password || $session_password_md5)
@@ -152,7 +160,11 @@ if ($essai_login == "oui") {
 
 // cookie d'admin ?
 if ($cookie_admin == "non") {
-	if (!$retour) $retour = 'spip_login.php3?var_url='.urlencode($url);
+	if (!$retour)
+	  $retour = 'spip_login.php3?var_url='.urlencode($url) .
+	     "&inscription="  .
+	    ((lire_meta("accepter_inscriptions") == "oui")? 'spip_inscription.php3' : '');
+
 	spip_setcookie('spip_admin', $spip_admin, time() - 3600 * 24);
 	$redirect = ereg_replace("[?&]var_login=[^&]*", '', $retour);
 	$redirect .= (strpos($redirect, "?") ? "&" : "?") . "var_login=-1";