diff --git a/search_api.module b/search_api.module
index 38d9e13..e0857ea 100644
--- a/search_api.module
+++ b/search_api.module
@@ -934,8 +934,9 @@ function search_api_node_access_records_alter(&$grants, $node) {
   foreach (search_api_index_load_multiple(FALSE) as $index) {
     $item_ids = array();
     if (!empty($index->options['data_alter_callbacks']['search_api_alter_node_access']['status'])) {
-      $item_id = $index->datasource()->getItemId($node);
-      $item_ids = array($item_id);
+      if ($item_id = $index->datasource()->getItemId($node)) {
+        $item_ids = array($item_id);
+      }
     }
     elseif (!empty($index->options['data_alter_callbacks']['search_api_alter_comment_access']['status'])) {
       if (!isset($comments)) {
