diff --git a/spip_action.php b/spip_action.php
index 3270237218ff5fe52f9b96da2bfcb77ba07202b7..51601f2f78b8cbb82ea7eaf0acd4e9d972bb120f 100644
--- a/spip_action.php
+++ b/spip_action.php
@@ -15,9 +15,8 @@ include ("ecrire/inc_version.php3");
 if (isset($hash)) {
 	include_ecrire("inc_session");
 	if (!verifier_action_auteur("$action $arg", $hash, $id_auteur)) {
-		$texte = _T('info_acces_interdit');
 		include_ecrire('inc_minipres');
-		minipres($texte);
+		minipres(_T('info_acces_interdit'));
 		exit;
 	}
  }
@@ -25,7 +24,10 @@ if (isset($hash)) {
 $var_f = include_fonction('spip_action_' . $action);
 $var_f();
 
-#if ($redirect) redirige_par_entete($redirect);
-if ($redirect) redirige_par_entete(_DIR_RESTREINT.$redirect);
+## le lien $redirect peut etre relatif a ecrire/ ou absolu : a nettoyer !!
+if ($redirect) {
+	include_ecrire('inc_filtres');
+	redirige_par_entete(suivre_lien(url_de_base()._DIR_RESTREINT,$redirect));
+}
 
 ?>