diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index cd0c61e0397247be778e029b4d54f99c25d25812..6897a4665c8078df81a10c4b4a346e4917b13a85 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -70,18 +70,15 @@ function articles_set($id_article, $id_rubrique, $lier_trad, $new)
 	include_spip('inc/filtres');
 	include_spip('inc/rubriques');
 
-	// retour de articles_edit
-	if (_request('titre') !== NULL) {
-		return revisions_articles($id_article, $id_rubrique, $new);
+	// si editer_article='oui', on modifie le contenu
+	if (_request('editer_article') == 'oui') {
+		revisions_articles($id_article, $id_rubrique, $new);
 	}
-	// retour articles.php, pour gestion des liens de trad (ou autre)
-	else {
-		if ($lier_trad)
-			return article_referent($id_article, $lier_trad);
-		else
-			spip_log("erreur sur action/editer_article"); // ne devrait pas se produire
-	}
-return;
+
+	if ($lier_trad)
+		$err = article_referent($id_article, $lier_trad);
+
+	return $err;
 }
 
 // http://doc.spip.org/@revisions_articles
diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php
index 7d534f7f124fcedc02b6a2aa7d5d3628b1091edb..35af441190fe255ed1612dca0a0ed4df38e2d23b 100644
--- a/ecrire/exec/articles_edit.php
+++ b/ecrire/exec/articles_edit.php
@@ -107,9 +107,6 @@ function chapo_articles_edit($chapo, $articles_chapeau)
 				$chapo .
 				"</textarea><P>\n";
 		}
-		else {
-			return "<br /><INPUT TYPE='hidden' NAME='chapo' VALUE=\"$chapo\">";
-		}
 	}
 }
 
@@ -163,7 +160,8 @@ function formulaire_articles_edit($row, $lier_trad, $new, $champs_article) {
 	$selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc');
 	$redirect = generer_url_ecrire("articles");
 
-	$form = (!$lier_trad ? '' :
+	$form = "<input type='hidden' name='editer_article' value='oui' />\n" .
+		 (!$lier_trad ? '' :
 		 ("\n<input type='hidden' name='lier_trad' value='" .
 		  $lier_trad .
 		  "' />" .