diff --git a/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js b/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js
index eae7c6b401b..ccd0da2008f 100644
--- a/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js
+++ b/addons/web/static/src/js/views/kanban/kanban_record_quick_create.js
@@ -276,6 +276,11 @@ var RecordQuickCreate = Widget.extend({
return;
}
+ // ignore clicks while a modal is just about to open
+ if ($(document.body).hasClass('modal-open')) {
+ return;
+ }
+
// ignore clicks if target is no longer in dom (e.g., a click on the
// 'delete' trash icon of a m2m tag)
if (!document.contains(ev.target)) {
diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js
index df56a7024b1..c4c19b12f7e 100644
--- a/addons/web/static/tests/views/kanban_tests.js
+++ b/addons/web/static/tests/views/kanban_tests.js
@@ -1478,6 +1478,53 @@ QUnit.module('Views', {
kanban.destroy();
});
+ QUnit.test('quick create record: cancel when modal is opened', async function (assert) {
+ assert.expect(3);
+
+ const kanban = await createView({
+ View: KanbanView,
+ model: 'partner',
+ data: this.data,
+ arch: '