diff -Nuar a/vendor/magento/module-company/Plugin/Sales/Model/ResourceModel/Order/Grid/CollectionPlugin.php b/vendor/magento/module-company/Plugin/Sales/Model/ResourceModel/Order/Grid/CollectionPlugin.php
index f0d80f916..22a90f4e3 100644
--- a/vendor/magento/module-company/Plugin/Sales/Model/ResourceModel/Order/Grid/CollectionPlugin.php
+++ b/vendor/magento/module-company/Plugin/Sales/Model/ResourceModel/Order/Grid/CollectionPlugin.php
@@ -5,35 +5,60 @@
  */
 namespace Magento\Company\Plugin\Sales\Model\ResourceModel\Order\Grid;
 
+use Magento\Sales\Model\ResourceModel\Order\Grid\Collection as OrderGridCollection;
+
 /**
  * Add company order extension attribute to order grid collection.
  */
 class CollectionPlugin
 {
     /**
+     * Flag to mark collections with joined company_order table.
+     */
+    private const JOINED_COMPANY_ORDER_FLAG = 'joined_company_order';
+
+    /**
      * Add company order extension attribute to order grid collection before loading.
      *
-     * @param \Magento\Sales\Model\ResourceModel\Order\Grid\Collection $subject
-     * @param bool $printQuery [optional]
-     * @param bool $logQuery [optional]
+     * @param OrderGridCollection $subject
+     * @param bool $printQuery
+     * @param bool $logQuery
      * @return array
      */
-    public function beforeLoad(
-        \Magento\Sales\Model\ResourceModel\Order\Grid\Collection $subject,
+    public function beforeLoadWithFilter(
+        OrderGridCollection $subject,
         $printQuery = false,
         $logQuery = false
-    ) {
-        if (!$subject->isLoaded()) {
+    ): array {
+        if (!$subject->getFlag(self::JOINED_COMPANY_ORDER_FLAG)) {
             $subject->getSelect()
                 ->joinLeft(
-                    ['company_order' => $subject->getTable(
-                        'company_order_entity'
-                    )],
+                    ['company_order' => $subject->getTable('company_order_entity')],
                     'main_table.entity_id = company_order.order_id',
                     ['company_name']
                 );
+            $subject->setFlag(self::JOINED_COMPANY_ORDER_FLAG, 1);
         }
 
         return [$printQuery, $logQuery];
     }
+
+    /**
+     * Add company order extension attribute to order grid collection before getting size.
+     *
+     * @param OrderGridCollection $subject
+     * @return void
+     */
+    public function beforeGetSelectCountSql(OrderGridCollection $subject): void
+    {
+        if (!$subject->getFlag(self::JOINED_COMPANY_ORDER_FLAG)) {
+            $subject->getSelect()
+                ->joinLeft(
+                    ['company_order' => $subject->getTable('company_order_entity')],
+                    'main_table.entity_id = company_order.order_id',
+                    ['company_name']
+                );
+            $subject->setFlag(self::JOINED_COMPANY_ORDER_FLAG, 1);
+        }
+    }
 }
