diff --git node_reference/node_reference.module node_reference/node_reference.module
index 141de42..4d918bb 100644
--- node_reference/node_reference.module
+++ node_reference/node_reference.module
@@ -129,6 +129,8 @@ function node_reference_field_validate($entity_type, $entity, $field, $instance,
  * Implements hook_field_prepare_view().
  */
 function node_reference_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) {
+  global $user;
+
   // @todo : do we need the static ?
   $fetched_nodes = &drupal_static(__FUNCTION__, array());
 
@@ -155,9 +157,6 @@ function node_reference_field_prepare_view($entity_type, $entities, $field, $ins
         ->fields('n')
         ->condition('n.nid', $missing_ids)
         ->addTag('node_access');
-      if (!user_access('administer nodes')) {
-        $query->condition('status', 1);
-      }
       $fetched_nodes = $query->execute()->fetchAllAssoc('nid');
     }
 
@@ -165,7 +164,7 @@ function node_reference_field_prepare_view($entity_type, $entities, $field, $ins
       foreach ($entity_items as $delta => $item) {
         if (is_array($item) && !empty($item['nid']) && isset($fetched_nodes[$item['nid']])) {
           $items[$id][$delta]['node'] = $fetched_nodes[$item['nid']];
-          $items[$id][$delta]['access'] = TRUE;
+          $items[$id][$delta]['access'] = node_access('view', $fetched_nodes[$item['nid']], $user);
         }
       }
     }
