diff --git a/vendor/magento/module-sales/Model/ResourceModel/Provider/UpdatedIdListProvider.php b/vendor/magento/module-sales/Model/ResourceModel/Provider/UpdatedIdListProvider.php
index a5bbf495d2b98..fd6b6648bb9b2 100644
--- a/vendor/magento/module-sales/Model/ResourceModel/Provider/UpdatedIdListProvider.php
+++ b/vendor/magento/module-sales/Model/ResourceModel/Provider/UpdatedIdListProvider.php
@@ -76,6 +76,9 @@ public function getIds($mainTableName, $gridTableName)
 
         $cursorFlagCode = self::GRID_CURSOR_FLAG_PREFIX . $gridTableName;
         $lastProcessedEntityId = $this->getLastProcessedEntityId($cursorFlagCode, $maxEntityId);
+        if ($lastProcessedEntityId >= $maxEntityId) {
+            return [];
+        }
         $scanUntilEntityId = min($lastProcessedEntityId + self::ENTITY_ID_SCAN_RANGE, $maxEntityId);
         $select = $this->idListQueryBuilder->build(
             $mainTableName,
@@ -136,11 +139,6 @@ private function getLastProcessedEntityId(string $cursorFlagCode, int $maxEntity
             return max(0, $maxEntityId - self::ENTITY_ID_SCAN_RANGE);
         }
 
-        $lastProcessedEntityId = (int)$storedCursor;
-        if ($lastProcessedEntityId < 0 || $lastProcessedEntityId >= $maxEntityId) {
-            return 0;
-        }
-
-        return $lastProcessedEntityId;
+        return max(0, min((int)$storedCursor, $maxEntityId));
     }
 }
