diff --git a/ecrire/auth/spip.php b/ecrire/auth/spip.php
index b5658b2d801eac5a21dd7810667b8c5d7318d898..5b146fec0e6f3f9f3e4bd7f18e1b76c9b3f1e7a6 100644
--- a/ecrire/auth/spip.php
+++ b/ecrire/auth/spip.php
@@ -39,12 +39,7 @@ function auth_spip_dist ($login, $pass, $serveur='') {
 	$row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND pass=" . sql_quote($md5pass) . " AND statut<>'5poubelle'",'','','','',$serveur);
 
 	// login/mot de passe incorrect
-	if (!$row) return array(); 
-
-	if ($row['statut'] == 'nouveau') {
-		include_spip('inc/auth');
-		$row['statut'] = acces_statut($row['id_auteur'], $row['statut'], $row['bio']);
-	}
+	if (!$row) return array();
 
 	// fait tourner le codage du pass dans la base
 	if ($md5next) {
diff --git a/ecrire/inc/auth.php b/ecrire/inc/auth.php
index 2d6e0992d4402558edfeafe6b7ca1e2396978dd0..35f01c0fa0cfe39297d724486b62c5e0bb4cd590 100644
--- a/ecrire/inc/auth.php
+++ b/ecrire/inc/auth.php
@@ -49,7 +49,10 @@ function acces_statut($id_auteur, $statut, $bio)
 	if ($statut != 'nouveau') return $statut;
 	include_spip('inc/filtres');
 	if (!($s = tester_config('', $bio))) return $statut;
-		sql_updateq('spip_auteurs', array('bio'=>'', 'statut'=> $s), "id_auteur=$id_auteur");
+	include_spip('action/editer_auteur');
+	instituer_auteur($id_auteur,array('statut'=> $s));
+	include_spip('inc/modifier');
+	revision_auteur($id_auteur, array('bio'=>''));
 	return $s;
 }
 
@@ -457,12 +460,20 @@ function auth_terminer_identifier_login($auth_methode, $login, $serveur=''){
 	$p = array('prefs' => serialize($p));
 	sql_updateq('spip_auteurs', $p, "id_auteur=" . $auteur['id_auteur']);
 
+	if ($auteur['statut'] == 'nouveau') {
+		$auteur['statut'] = acces_statut($auteur['id_auteur'], $auteur['statut'], $auteur['bio']);
+	}
+
 	// Si on est admin, poser le cookie de correspondance
+	include_spip('inc/cookie');
 	if ($auteur['statut'] == '0minirezo') {
-		include_spip('inc/cookie');
 		spip_setcookie('spip_admin', '@'.$auteur['login'],
 		time() + 7 * 24 * 3600);
 	}
+	// sinon le supprimer ...
+	else {
+		spip_setcookie('spip_admin', '',1);
+	}
 
 	//  bloquer ici le visiteur qui tente d'abuser de ses droits
 	verifier_visiteur();