diff --git a/core/modules/entity_reference/entity_reference.module b/core/modules/entity_reference/entity_reference.module
index 4e98d15..bc91273 100644
--- a/core/modules/entity_reference/entity_reference.module
+++ b/core/modules/entity_reference/entity_reference.module
@@ -509,9 +509,7 @@ function entity_reference_autocomplete_callback_get_matches($type, $field, $inst
 
   if ($entity_id !== 'NULL') {
     $entity = entity_load($entity_type, $entity_id);
-    // @todo: Improve when we have entity_access().
-    $entity_access = $target_type == 'node' ? node_access('view', $entity) : TRUE;
-    if (!$entity || !$entity_access) {
+    if (!$entity || !$entity->access('view')) {
       return MENU_ACCESS_DENIED;
     }
   }
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php
index 76fc029..3b73a17 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceFormatterBase.php
@@ -75,9 +75,7 @@ public function prepareView(array $entities, $langcode, array &$items) {
           $entity = $target_entities[$identifier];
           $items[$id][$delta]['entity'] = $entity;
 
-          // @todo: Improve when we have entity_access().
-          $entity_access = $target_type == 'node' ? node_access('view', $entity) : TRUE;
-          if (!$entity_access) {
+          if (!$entity->access('view')) {
             continue;
           }
         }
