diff --git a/app/code/Magento/Catalog/view/adminhtml/web/catalog/product/composite/configure.js b/app/code/Magento/Catalog/view/adminhtml/web/catalog/product/composite/configure.js
index 030962f2f06413a56129efbbbc6aa3c6d8b4830a..e711dcadb85920c71efdcf7125c342d1773a1170 100644
--- a/app/code/Magento/Catalog/view/adminhtml/web/catalog/product/composite/configure.js
+++ b/app/code/Magento/Catalog/view/adminhtml/web/catalog/product/composite/configure.js
@@ -7,7 +7,8 @@ define([
     "jquery/ui",
     "mage/translate",
     "prototype",
-    'Magento_Ui/js/modal/modal'
+    'Magento_Ui/js/modal/modal',
+    'domReady!'
 ], function(jQuery){
 
     window.ProductConfigure = Class.create();
@@ -761,8 +762,5 @@ define([
         }
     };
 
-    jQuery(document).ready(function(){
-        productConfigure = new ProductConfigure();
-    });
-
+    productConfigure = new ProductConfigure();
 });
\ No newline at end of file
diff --git a/app/code/Magento/Sales/view/adminhtml/web/order/create/scripts.js b/app/code/Magento/Sales/view/adminhtml/web/order/create/scripts.js
index 90f8b04c5c70b9d4d9fbb88d70e08bd307c83d04..1225d9485ddee846c234411ff3743c35e64afe74 100644
--- a/app/code/Magento/Sales/view/adminhtml/web/order/create/scripts.js
+++ b/app/code/Magento/Sales/view/adminhtml/web/order/create/scripts.js
@@ -6,11 +6,12 @@ define([
     "jquery",
     'Magento_Ui/js/modal/confirm',
     'Magento_Ui/js/modal/alert',
+    'knockout',
     "mage/translate",
     "prototype",
     "Magento_Catalog/catalog/product/composite/configure",
     'Magento_Ui/js/lib/view/utils/async'
-], function(jQuery, confirm, alert){
+], function(jQuery, confirm, alert, ko){
 
     window.AdminOrder = new Class.create();
 
@@ -37,47 +38,52 @@ define([
             this.isOnlyVirtualProduct = false;
             this.excludedPaymentMethods = [];
             this.summarizePrice = true;
+            this.areasLoadedFlag = ko.observable(false);
             jQuery.async('#order-items', (function(){
-                this.dataArea = new OrderFormArea('data', $(this.getAreaId('data')), this);
-                this.itemsArea = Object.extend(new OrderFormArea('items', $(this.getAreaId('items')), this), {
-                    addControlButton: function(button){
-                        var controlButtonArea = $(this.node).select('.actions')[0];
-                        if (typeof controlButtonArea != 'undefined') {
-                            var buttons = controlButtonArea.childElements();
-                            for (var i = 0; i < buttons.length; i++) {
-                                if (buttons[i].innerHTML.include(button.label)) {
-                                    return ;
+                this.areasLoadedFlag.subscribe(function(val) {
+                    if (val) {
+                        this.dataArea = new OrderFormArea('data', $(this.getAreaId('data')), this);
+                        this.itemsArea = Object.extend(new OrderFormArea('items', $(this.getAreaId('items')), this), {
+                            addControlButton: function(button){
+                                var controlButtonArea = $(this.node).select('.actions')[0];
+                                if (typeof controlButtonArea != 'undefined') {
+                                    var buttons = controlButtonArea.childElements();
+                                    for (var i = 0; i < buttons.length; i++) {
+                                        if (buttons[i].innerHTML.include(button.label)) {
+                                            return ;
+                                        }
+                                    }
+                                    button.insertIn(controlButtonArea, 'top');
                                 }
                             }
-                            button.insertIn(controlButtonArea, 'top');
-                        }
-                    }
-                });
-
-                var searchButton = new ControlButton(jQuery.mage.__('Add Products')),
-                    searchAreaId = this.getAreaId('search');
-                searchButton.onClick = function() {
-                    $(searchAreaId).show();
-                    var el = this;
-                    window.setTimeout(function () {
-                        el.remove();
-                    }, 10);
-                };
+                        });
 
-                this.dataArea.onLoad = this.dataArea.onLoad.wrap(function(proceed) {
-                    proceed();
-                    this._parent.itemsArea.setNode($(this._parent.getAreaId('items')));
-                    this._parent.itemsArea.onLoad();
-                });
+                        var searchButton = new ControlButton(jQuery.mage.__('Add Products')),
+                            searchAreaId = this.getAreaId('search');
+                        searchButton.onClick = function() {
+                            $(searchAreaId).show();
+                            var el = this;
+                            window.setTimeout(function () {
+                                el.remove();
+                            }, 10);
+                        };
+
+                        this.dataArea.onLoad = this.dataArea.onLoad.wrap(function(proceed) {
+                            proceed();
+                            this._parent.itemsArea.setNode($(this._parent.getAreaId('items')));
+                            this._parent.itemsArea.onLoad();
+                        });
 
-                this.itemsArea.onLoad = this.itemsArea.onLoad.wrap(function(proceed) {
-                    proceed();
-                    if ($(searchAreaId) && !$(searchAreaId).visible()) {
-                        this.addControlButton(searchButton);
+                        this.itemsArea.onLoad = this.itemsArea.onLoad.wrap(function(proceed) {
+                            proceed();
+                            if ($(searchAreaId) && !$(searchAreaId).visible()) {
+                                this.addControlButton(searchButton);
+                            }
+                        });
+                        this.areasLoaded();
+                        this.itemsArea.onLoad();
                     }
-                });
-                this.areasLoaded();
-                this.itemsArea.onLoad();
+                }, this);
             }).bind(this));
 
             jQuery('#edit_form')
@@ -85,7 +91,6 @@ define([
                     jQuery(this).trigger('realOrder');
                 })
                 .on('realOrder', this._realSubmit.bind(this));
-
         },
 
         areasLoaded: function(){