diff --git a/src/Plugin/views/query/SearchApiQuery.php b/src/Plugin/views/query/SearchApiQuery.php
index 18d78e1b..b959084d 100644
--- a/src/Plugin/views/query/SearchApiQuery.php
+++ b/src/Plugin/views/query/SearchApiQuery.php
@@ -535,7 +535,13 @@ protected function addResults(array $results, ViewExecutable $view) {
     // First, unless disabled, check access for all entities in the results.
     if (!$this->options['skip_access']) {
       $account = $this->getAccessAccount();
+      $objects = $this->getIndex()->loadItemsMultiple(array_keys($results));
       foreach ($results as $item_id => $result) {
+        if (!isset($objects[$item_id])) {
+          unset($results[$item_id]);
+          continue;
+        }
+        $result->setOriginalObject($objects[$item_id]);
         if (!$result->checkAccess($account)) {
           unset($results[$item_id]);
         }
