diff --git a/entityreference.module b/entityreference.module
index bdcb562..b96c58c 100644
--- a/entityreference.module
+++ b/entityreference.module
@@ -1200,6 +1200,9 @@ function entityreference_field_formatter_prepare_view($entity_type, $entities, $
         $items[$id][$delta]['entity'] = $target_entities[$item['target_id']];
         // Check whether the user has access to the referenced entity.
         $has_view_access = (entity_access('view', $field['settings']['target_type'], $target_entities[$item['target_id']]) !== FALSE);
+        if (isset($items[$id][$delta]['entity']->uid)) {
+          $has_view_access = TRUE;
+        }
         $has_update_access = (entity_access('update', $field['settings']['target_type'], $target_entities[$item['target_id']]) !== FALSE);
         $items[$id][$delta]['access'] = ($has_view_access || $has_update_access);
       }
diff --git a/plugins/selection/EntityReference_SelectionHandler_Generic.class.php b/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
index 57a3a37..a251a94 100644
--- a/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
+++ b/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
@@ -195,6 +195,10 @@ class EntityReference_SelectionHandler_Generic implements EntityReference_Select
       $entity_type = $this->field['settings']['target_type'];
       $query = $this->buildEntityFieldQuery();
       $query->entityCondition('entity_id', $ids, 'IN');
+      if ($entity_type == "user") {
+        unset($query->propertyCondition);
+        $query->entityCondition('status', 0, '>=');
+      }
       $result = $query->execute();
       if (!empty($result[$entity_type])) {
         return array_keys($result[$entity_type]);
@@ -305,7 +309,15 @@ class EntityReference_SelectionHandler_Generic implements EntityReference_Select
    */
   public function getLabel($entity) {
     $target_type = $this->field['settings']['target_type'];
-    return entity_access('view', $target_type, $entity) ? entity_label($target_type, $entity) : t('- Restricted access -');
+    switch ($target_type) {
+      case 'user':
+        return entity_label($target_type, $entity);
+        break;
+
+      default:
+        return entity_access('view', $target_type, $entity) ? entity_label($target_type, $entity) : t('- Restricted access -');
+        break;
+    }
   }

   /**
