diff --git a/vendor/magento/module-sales/view/adminhtml/ui_component/sales_order_grid.xml b/vendor/magento/module-sales/view/adminhtml/ui_component/sales_order_grid.xml
index 9105b4be8cd..15f691336d5 100644
--- a/vendor/magento/module-sales/view/adminhtml/ui_component/sales_order_grid.xml
+++ b/vendor/magento/module-sales/view/adminhtml/ui_component/sales_order_grid.xml
@@ -58,7 +58,7 @@
                 </settings>
             </filterSelect>
         </filters>
-        <massaction name="listing_massaction" component="Magento_Sales/js/grid/tree-massactions">
+        <massaction name="listing_massaction" component="Magento_Ui/js/grid/tree-massactions">
             <action name="cancel">
                 <settings>
                     <url path="sales/order/massCancel"/>
@@ -131,7 +131,7 @@
                 </param>
             </childDefaults>
         </settings>
-        <selectionsColumn name="ids">
+        <selectionsColumn name="ids" component="Magento_Sales/js/grid/columns/multiselect">
             <settings>
                 <indexField>entity_id</indexField>
             </settings>
diff --git a/vendor/magento/module-sales/view/adminhtml/web/js/grid/columns/multiselect.js b/vendor/magento/module-sales/view/adminhtml/web/js/grid/columns/multiselect.js
new file mode 100644
index 00000000000..223c04f5184
--- /dev/null
+++ b/vendor/magento/module-sales/view/adminhtml/web/js/grid/columns/multiselect.js
@@ -0,0 +1,27 @@
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+define([
+    'Magento_Ui/js/grid/columns/multiselect'
+], function (Multiselect) {
+    'use strict';
+
+    return Multiselect.extend({
+        /**
+         * Prevent calling this.selectAll(); in parent
+         *
+         * @returns  {Object}
+         */
+        updateState: function () {
+            var selected = this.selected().length,
+                totalRecords = this.totalRecords();
+
+            if (totalRecords && selected === totalRecords && !this.preserveSelectionsOnFilter) {
+                return this;
+            }
+            return this._super();
+        }
+    });
+});
diff --git a/vendor/magento/module-sales/view/adminhtml/web/js/grid/tree-massactions.js b/vendor/magento/module-sales/view/adminhtml/web/js/grid/tree-massactions.js
deleted file mode 100644
index a2783222afc..00000000000
--- a/vendor/magento/module-sales/view/adminhtml/web/js/grid/tree-massactions.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-define([
-    'underscore',
-    'mageUtils',
-    'Magento_Ui/js/grid/tree-massactions'
-], function (_, utils, Massactions) {
-    'use strict';
-
-    return Massactions.extend({
-        /**
-         * Overwrite Default action callback.
-         * Sends selections data with ids
-         * via POST request.
-         *
-         * @param {Object} action - Action data.
-         * @param {Object} data - Selections data.
-         */
-        defaultCallback: function (action, data) {
-            var itemsType = 'selected',
-                selections = {};
-
-            selections[itemsType] = data[itemsType];
-            _.extend(selections, data.params || {});
-            utils.submit({
-                url: action.url,
-                data: selections
-            });
-        }
-    });
-});
