diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js
index 4d2b430c867e2d0984ac4a47f7c15dea10cd744f..b2408c3b5715bcf939c382ec12c6bf6a99ce9395 100644
--- a/addons/website/static/src/js/menu/content.js
+++ b/addons/website/static/src/js/menu/content.js
@@ -602,8 +602,8 @@ var ContentMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
     },
 });
 
-
 var PageManagement = Widget.extend({
+    xmlDependencies: ['/website/static/src/xml/website.xml'],
     events: {
         'click a.js_page_properties': '_onPagePropertiesButtonClick',
         'click a.js_clone_page': '_onClonePageButtonClick',
@@ -686,7 +686,6 @@ var PageManagement = Widget.extend({
     },
 });
 
-
 websiteNavbarData.websiteNavbarRegistry.add(ContentMenu, '#content-menu');
 websiteRootData.websiteRootRegistry.add(PageManagement, '#edit_website_pages');
 
diff --git a/addons/website/static/src/js/utils.js b/addons/website/static/src/js/utils.js
index b00192c87d902ebe7b51d16da2de56b4077cccdc..aabd54e174a42a9f4a5d1db6bf145424bf69c5d4 100644
--- a/addons/website/static/src/js/utils.js
+++ b/addons/website/static/src/js/utils.js
@@ -1,6 +1,7 @@
 odoo.define('website.utils', function (require) {
 'use strict';
 
+var ajax = require('web.ajax');
 var core = require('web.core');
 var weContext = require('web_editor.context');
 
@@ -70,8 +71,10 @@ function prompt(options, _qweb) {
             text: options
         };
     }
+    var xmlDef;
     if (_.isUndefined(_qweb)) {
         _qweb = 'website.prompt';
+        xmlDef = ajax.loadXML('/website/static/src/xml/website.xml', core.qweb);
     }
     options = _.extend({
         window_title: '',
@@ -86,48 +89,52 @@ function prompt(options, _qweb) {
     options.field_name = options.field_name || options[type];
 
     var def = $.Deferred();
-    var dialog = $(qweb.render(_qweb, options)).appendTo('body');
-    options.$dialog = dialog;
-    var field = dialog.find(options.field_type).first();
-    field.val(options['default']); // dict notation for IE<9
-    field.fillWith = function (data) {
-        if (field.is('select')) {
-            var select = field[0];
-            data.forEach(function (item) {
-                select.options[select.options.length] = new window.Option(item[1], item[0]);
+
+    $.when(xmlDef).then(function () {
+        var dialog = $(qweb.render(_qweb, options)).appendTo('body');
+        options.$dialog = dialog;
+        var field = dialog.find(options.field_type).first();
+        field.val(options['default']); // dict notation for IE<9
+        field.fillWith = function (data) {
+            if (field.is('select')) {
+                var select = field[0];
+                data.forEach(function (item) {
+                    select.options[select.options.length] = new window.Option(item[1], item[0]);
+                });
+            } else {
+                field.val(data);
+            }
+        };
+        var init = options.init(field, dialog);
+        $.when(init).then(function (fill) {
+            if (fill) {
+                field.fillWith(fill);
+            }
+            dialog.modal('show');
+            field.focus();
+            dialog.on('click', '.btn-primary', function () {
+                    var backdrop = $('.modal-backdrop');
+                def.resolve(field.val(), field, dialog);
+                dialog.modal('hide').remove();
+                    backdrop.remove();
             });
-        } else {
-            field.val(data);
-        }
-    };
-    var init = options.init(field, dialog);
-    $.when(init).then(function (fill) {
-        if (fill) {
-            field.fillWith(fill);
-        }
-        dialog.modal('show');
-        field.focus();
-        dialog.on('click', '.btn-primary', function () {
+        });
+        dialog.on('hidden.bs.modal', function () {
                 var backdrop = $('.modal-backdrop');
-            def.resolve(field.val(), field, dialog);
-            dialog.modal('hide').remove();
+            def.reject();
+            dialog.remove();
                 backdrop.remove();
         });
+        if (field.is('input[type="text"], select')) {
+            field.keypress(function (e) {
+                if (e.which === 13) {
+                    e.preventDefault();
+                    dialog.find('.btn-primary').trigger('click');
+                }
+            });
+        }
     });
-    dialog.on('hidden.bs.modal', function () {
-            var backdrop = $('.modal-backdrop');
-        def.reject();
-        dialog.remove();
-            backdrop.remove();
-    });
-    if (field.is('input[type="text"], select')) {
-        field.keypress(function (e) {
-            if (e.which === 13) {
-                e.preventDefault();
-                dialog.find('.btn-primary').trigger('click');
-            }
-        });
-    }
+
     return def;
 }