diff --git a/inc/formidable.php b/inc/formidable.php
index b5b37fabdf8de36ce41bf8bde1df4faaf2b7a6ad..778810b144e4603e347df67ade798870a251f7c0 100644
--- a/inc/formidable.php
+++ b/inc/formidable.php
@@ -519,7 +519,13 @@ function formidable_raccourcis_arobases_2_valeurs_champs($chaine, $saisies, $bru
 		else {
 			$a_remplacer = array_intersect_key($valeurs_libellees, $a_remplacer);
 		}
-		$a_remplacer = array_merge($a_remplacer, array('nom_site_spip' => lire_config("nom_site")));
+
+		$a_remplacer = array_merge($a_remplacer,array('nom_site_spip' => lire_config('nom_site')));
+		if (strpos($chaine,'@message_retour@') !== false) {// test pour éviter recurrence infinie
+			$message_retour = sql_getfetsel('message_retour', 'spip_formulaires', "id_formulaire=$id_formulaire");
+			$message_retour = formidable_raccourcis_arobases_2_valeurs_champs($message_retour, $saisies, $brut, $sans_reponse, $source, $id_formulaires_reponse, $id_formulaire);
+			$a_remplacer = array_merge($a_remplacer,array('message_retour' => $message_retour));
+		}
 	}
 	return trim(_L($chaine, $a_remplacer));
 }
diff --git a/modeles/formulaire_aide_memoire.html b/modeles/formulaire_aide_memoire.html
index 70764617a7e4be3db8c8ed54789166f609cb7901..b08f888a809c55f1b046a02d3bf42c3565540d1e 100644
--- a/modeles/formulaire_aide_memoire.html
+++ b/modeles/formulaire_aide_memoire.html
@@ -4,6 +4,10 @@
 		<dt>@nom_site_spip@</dt>
 		<dd><:info_nom_site:></dd>
 	</dl>
+	<dl>
+		<dt>@message_retour@</dt>
+		<dd><:formidable:editer_message_ok:></dd>
+	</dl>
 	<BOUCLE_champs(POUR){tableau #SAISIES*|unserialize|saisies_lister_par_nom{1}}>
 	[(#VALEUR{saisie}|=={explication}|oui)
 		#SET{label,#VALEUR{options/texte}}
diff --git a/paquet.xml b/paquet.xml
index 5d16b0e84af4046c26d6f8b315f7080923304930..8d933e01954a94605917200324bae30851f87611 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="formidable"
 	categorie="communication"
-	version="3.47.9"
+	version="3.48.0"
 	etat="stable"
 	compatibilite="[3.0.0;3.2.*]"
 	logo="images/formidable-64.png"
diff --git a/traiter/email.php b/traiter/email.php
index 03ff118997a6839684bff21cdce39b72376e4ce8..29ce5ceb89cde2d7b2f8eabc81061d09e9a15b53 100644
--- a/traiter/email.php
+++ b/traiter/email.php
@@ -24,6 +24,7 @@ function traiter_email_dist($args, $retours) {
 	}
 	$timestamp = time();
 	$retours['timestamp'] = $timestamp;
+	$id_formulaire = $args['id_formulaire'];
 	$formulaire = $args['formulaire'];
 	$options = $args['options'];
 	$saisies = unserialize($formulaire['saisies']);
@@ -242,7 +243,10 @@ function traiter_email_dist($args, $retours) {
 					$options['texte_accuse'] ? $options['texte_accuse'] : $formulaire['message_retour'],
 					$saisies,
 					false,
-					''),
+					'',
+					'request',
+					0,
+					$id_formulaire),
 				'traitements' => $traitements,
 				'saisies' => $options['masquer_valeurs_accuse'] ? '' : $saisies,
 				'valeurs' => $options['masquer_valeurs_accuse'] ? '' : $valeurs