diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php
index 1b5d743c350..2fd38d097c0 100644
--- a/htdocs/core/class/html.formmail.class.php
+++ b/htdocs/core/class/html.formmail.class.php
@@ -252,6 +252,14 @@ class FormMail extends Form
$langs->load("other");
$langs->load("mails");
+
+ // Clear temp files. Must be done at beginning, before call of triggers
+ if (GETPOST('mode','alpha') == 'init' || (GETPOST('modelmailselected','alpha') && GETPOST('modelmailselected','alpha') != '-1'))
+ {
+ $this->clear_attached_files();
+ }
+
+ // Call hook getFormMail
$hookmanager->initHooks(array('formmail'));
$parameters=array(
@@ -306,7 +314,6 @@ class FormMail extends Form
if (GETPOST('mode','alpha') == 'init' || (GETPOST('modelmailselected','alpha') && GETPOST('modelmailselected','alpha') != '-1'))
{
- $this->clear_attached_files();
if (! empty($arraydefaultmessage['joinfiles']) && is_array($this->param['fileinit']))
{
foreach($this->param['fileinit'] as $file)