diff --git a/addons/base_automation/tests/__init__.py b/addons/base_automation/tests/__init__.py
index 92a8a4959d90b23f0187506402257af20eb59dc6..a6533bd6153bddbdc2e7ff09137518d5583e6a12 100644
--- a/addons/base_automation/tests/__init__.py
+++ b/addons/base_automation/tests/__init__.py
@@ -1,3 +1,5 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
+
 from . import test_automation
+from . import test_mail_composer
diff --git a/addons/base_automation/tests/test_mail_composer.py b/addons/base_automation/tests/test_mail_composer.py
new file mode 100644
index 0000000000000000000000000000000000000000..2609466facdc362f8e2bd6e5af5f6b859e1109b8
--- /dev/null
+++ b/addons/base_automation/tests/test_mail_composer.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests.common import tagged, HttpCase
+
+
+@tagged('-at_install', 'post_install', 'mail_composer')
+class TestMailFullComposer(HttpCase):
+
+    def test_full_composer_tour(self):
+        self.env['mail.template'].create({
+            'name': 'Test template',  # name hardcoded for test
+            'partner_to': '${object.id}',
+            'lang': '${object.lang}',
+            'auto_delete': True,
+            'model_id': self.ref('base.model_res_partner'),
+        })
+        test_user = self.env['res.users'].create({
+            'email': 'testuser@testuser.com',
+            'groups_id': [
+                (6, 0, [self.ref('base.group_user'), self.ref('base.group_partner_manager')]),
+            ],
+            'name': 'Test User',
+            'login': 'testuser',
+            'password': 'testuser',
+        })
+
+        automated_action = self.env['base.automation'].create({
+            'name': 'Test',
+            'active': True,
+            'trigger': 'on_change',
+            'on_change_field_ids': (4, self.ref('mail.field_mail_compose_message__template_id'),),
+            'state': 'code',
+            'model_id': self.env.ref('mail.model_mail_compose_message').id,
+        })
+
+        self.start_tour("/web#id=%d&model=res.partner" % test_user.partner_id, 'mail/static/tests/tours/mail_full_composer_test_tour.js', login='testuser')
+
+        automated_action.unlink()
diff --git a/addons/mail/tests/test_mail_full_composer.py b/addons/mail/tests/test_mail_full_composer.py
index 35dea3ae581e6b401f61cac1cbaabae0445723c3..e14e04288ead281053701312760d64a9ba020654 100644
--- a/addons/mail/tests/test_mail_full_composer.py
+++ b/addons/mail/tests/test_mail_full_composer.py
@@ -4,7 +4,7 @@
 from odoo.tests.common import tagged, HttpCase
 
 
-@tagged('-at_install', 'post_install')
+@tagged('-at_install', 'post_install', 'mail_composer')
 class TestMailFullComposer(HttpCase):
 
     def test_full_composer_tour(self):
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index 327cad2bc8b805f4b0958a8377675cbf1191d2c4..cfca50912579e37a7d745445f3de02b0f3d77f33 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -77,6 +77,10 @@ class MailComposer(models.TransientModel):
         if result.get('composition_mode') == 'comment' and (set(fields) & set(['model', 'res_id', 'partner_ids', 'record_name', 'subject'])):
             result.update(self.get_record_data(result))
 
+        # when being in new mode, create_uid is not granted -> ACLs issue may arise
+        if 'create_uid' in fields and 'create_uid' not in result:
+            result['create_uid'] = self.env.uid
+
         filtered_result = dict((fname, result[fname]) for fname in result if fname in fields)
         return filtered_result