diff --git a/nodeaccess_nodereference.module b/nodeaccess_nodereference.module
index 26cff2b..b7d355d 100755
--- a/nodeaccess_nodereference.module
+++ b/nodeaccess_nodereference.module
@@ -478,7 +478,7 @@ function nodeaccess_nodereference_node_access_records($node) {
   if (!empty($field_data)) {
     foreach ($field_data as $field_name => &$data) {
       if (!empty($data)) {
-
+        $data = _nodeaccess_nodereference_initialize_index($data);
         if (!empty($node->status) || !empty($data['referenced']['published'])) {
 
           // Add referenced user grants.
@@ -509,7 +509,7 @@ function nodeaccess_nodereference_node_access_records($node) {
             }
           }
 
-          if ((isset($data['unused'])) && (isset($data['unused'])) && isset($data['referenced'])) {
+          if ($data['unused'] && isset($data['referenced'])) {
             foreach (array_keys($data['referenced']) as $operation) {
               // Add a dummy grant for node 0 to block other users' access.
               nodeaccess_nodereference_add_grant(
@@ -754,4 +754,19 @@ function nodeaccess_nodereference_node_access_explain($row) {
  */
 function nodeaccess_nodereference_field_delete_instance($instance) {
   nodeaccess_nodereference_field_settings($instance['bundle'], $instance['field_name'], FALSE);
+}
+function _nodeaccess_nodereference_initialize_index($data) {
+ if (!isset($data['priority'])) {
+   $data['priority'] = array();
+ }
+ if (!isset($data['unused'])) {
+   $data['unused'] = array();
+ }
+ if (!isset($data['author'])) {
+   $data['author'] = array();
+ }
+ if (!isset($data['all'])) {
+   $data['all'] = array();
+ }
+ return $data;
 }
\ No newline at end of file
