diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php
index af9cff03a990940e74221c8e3e067c4c7cfb56ea..bbef1cb854d69c4f463744d4f0f8d5b28ea6de27 100644
--- a/ecrire/action/editer_auteurs.php
+++ b/ecrire/action/editer_auteurs.php
@@ -34,20 +34,26 @@ function action_editer_auteurs_dist() {
 		if  ($nouv_auteur = intval(_request('nouv_auteur'))) {
 			ajouter_auteur_et_rediriger($r[1], $nouv_auteur, $redirect);
 		} else if ($cherche = _request('cherche_auteur')) {
+			if ($p = strpos($redirect, '#')) {
+				$ancre = substr($redirect,$p);
+				$redirect = substr($redirect,0,$p);
+			} else $ancre ='';
+
 			$res = rechercher_auteurs($cherche);
 			$n = count($res);
+
 			if ($n == 1)
 			# Bingo. Signaler le choix fait.
-				ajouter_auteur_et_rediriger($r[1], $res[0], "$redirect&ids=" . $res[0] . "&cherche_auteur=" . $res[0]);
+				ajouter_auteur_et_rediriger($r[1], $res[0], "$redirect&ids=" . $res[0] . "&cherche_auteur=" . $res[0] . $ancre);
 			# Trop vague. Le signaler.
 			elseif ($n > 16)
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1");
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1" . $ancre);
 			elseif (!$n)
 			# Recherche vide (mais faite). Le signaler 
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" );
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids="  . $ancre);
 			else
 			# renvoyer un formulaire de choix
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res));
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res)  . $ancre);
 
 		}
 	} else spip_log("action_editer_auteur: $arg pas compris");
diff --git a/ecrire/exec/editer_mot.php b/ecrire/exec/editer_mot.php
index acf76116c7d9ebb0ca4dea7b61edcf50c0889951..4f6d895d34cf31172e2885b2189a19971599c297 100644
--- a/ecrire/exec/editer_mot.php
+++ b/ecrire/exec/editer_mot.php
@@ -11,14 +11,11 @@
 \***************************************************************************/
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
 
 // http://doc.spip.org/@exec_editer_mot_dist
 function exec_editer_mot_dist()
 {
-	include_spip('inc/actions');
-	include_spip('inc/mots');
-	include_spip('inc/presentation');
-
 	$objet = _request('objet');
 	$id_objet = intval(_request('id_objet'));
 
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index a58730874a5d90b758bb82bf92db0a6f98253e39..477fed60fb5808f22b91368faeca5ce0ebe1bf60 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -12,7 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
-
+include_spip('inc/mots');
 
 // http://doc.spip.org/@inc_editer_mot_dist
 function inc_editer_mot_dist($objet, $id_objet, $cherche_mot, $select_groupe, $flag) {