diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index d35e47ff6c654b709d818e200f161c9a05c35c71..25154378d920362b18fb8b89a73c15dba30461c6 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1250,15 +1250,17 @@ function generer_url_prive($script, $args="", $no_entities=false) {
 function generer_form_ecrire($script, $corps, $atts='', $submit='') {
 	global $spip_lang_right;
 
+	$script1 = array_shift(explode('&', $script));
+
 	return "<form action='"
 	. ($script ? generer_url_ecrire($script) : '')
 	. "' "
 	. ($atts ? $atts : " method='post'")
 	.  "><div>\n"
-	. "<input type='hidden' name='exec' value='$script' />"
+	. "<input type='hidden' name='exec' value='$script1' />"
 	. $corps
 	. (!$submit ? '' :
-	     ("<div style='text-align: $spip_lang_right'><input class='fondo' type='submit' value='$submit' /></div>"))
+	     ("<div style='text-align: $spip_lang_right'><input class='fondo' type='submit' value=\"".entites_html($submit)."\" /></div>"))
 	. "</div></form>\n";
 }