diff --git a/core/modules/book/book.module b/core/modules/book/book.module
index 26f324e..dc62bf8 100644
--- a/core/modules/book/book.module
+++ b/core/modules/book/book.module
@@ -203,7 +203,7 @@ function book_menu() {
  *   The node whose export page is to be viewed.
  */
 function book_export_access(EntityInterface $node) {
-  return user_access('access printer-friendly version') && node_access('view', $node);
+  return user_access('access printer-friendly version') && $node->access('view');
 }
 
 /**
@@ -219,7 +219,7 @@ function book_export_access(EntityInterface $node) {
  * @see book_menu()
  */
 function _book_outline_access(EntityInterface $node) {
-  return user_access('administer book outlines') && node_access('view', $node);
+  return user_access('administer book outlines') && $node->access('view');
 }
 
 /**
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index dd87b29..bc3afd2 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -2060,7 +2060,7 @@ function comment_file_download_access($field, EntityInterface $entity, File $fil
   if ($entity->entityType() == 'comment') {
     if (user_access('access comments') && $entity->status->value == COMMENT_PUBLISHED || user_access('administer comments')) {
       $node = $entity->nid->entity;
-      return node_access('view', $node);
+      return $node->access('view');
     }
     return FALSE;
   }
diff --git a/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php b/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php
index 9eac5bc..0b43599 100644
--- a/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php
+++ b/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php
@@ -44,7 +44,7 @@ public function accessEditEntityField(EntityInterface $entity, $field_name) {
     $entity_type = $entity->entityType();
     // @todo Generalize to all entity types once http://drupal.org/node/1862750
     // is done.
-    return ($entity_type == 'node' && node_access('update', $entity) && field_access('edit', $field_name, $entity_type, $entity));
+    return ($entity_type == 'node' && $node->access('update') && field_access('edit', $field_name, $entity_type, $entity));
   }
 
   /**
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/EntityReferenceAutocomplete.php b/core/modules/entity_reference/lib/Drupal/entity_reference/EntityReferenceAutocomplete.php
index a5b41af..6ea08f0 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/EntityReferenceAutocomplete.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/EntityReferenceAutocomplete.php
@@ -68,7 +68,8 @@ public function getMatches($field, $instance, $entity_type, $entity_id = '', $pr
       $entities = $this->entityManager->getStorageController($entity_type)->load(array($entity_id));
       $entity = reset($entities);
       // @todo: Improve when we have entity_access().
-      $entity_access = $target_type == 'node' ? node_access('view', $entity) : TRUE;
+      // @todo revisit later
+      $entity_access = $target_type == 'node' ? $node->access('view', $entity) : TRUE;
       if (!$entity || !$entity_access) {
         throw new AccessDeniedHttpException();
       }
diff --git a/core/modules/file/file.api.php b/core/modules/file/file.api.php
index a6d11d5..6a69554 100644
--- a/core/modules/file/file.api.php
+++ b/core/modules/file/file.api.php
@@ -223,6 +223,7 @@ function hook_file_delete(Drupal\file\File $file) {
  */
 function hook_file_download_access($field, Drupal\Core\Entity\EntityInterface $entity, Drupal\file\File $file) {
   if ($entity->entityType() == 'node') {
+    // @todo revisit later
     return node_access('view', $entity);
   }
 }
diff --git a/core/modules/forum/forum.module b/core/modules/forum/forum.module
index 16eadd8..b30fe74 100644
--- a/core/modules/forum/forum.module
+++ b/core/modules/forum/forum.module
@@ -175,6 +175,7 @@ function forum_menu_local_tasks(&$data, $router_item, $root_path) {
       // Loop through all bundles for forum taxonomy vocabulary field.
       $field = field_info_field('taxonomy_forums');
       foreach ($field['bundles']['node'] as $type) {
+        // @todo revisit later
         if (node_access('create', $type)) {
           $links[$type] = array(
             '#theme' => 'menu_local_action',
diff --git a/core/modules/node/lib/Drupal/node/NodeFormController.php b/core/modules/node/lib/Drupal/node/NodeFormController.php
index 63b4189..b0d2b5b 100644
--- a/core/modules/node/lib/Drupal/node/NodeFormController.php
+++ b/core/modules/node/lib/Drupal/node/NodeFormController.php
@@ -293,7 +293,7 @@ protected function actions(array $form, array &$form_state) {
     }
 
     $element['preview'] = array(
-      '#access' => $preview_mode != DRUPAL_DISABLED && (node_access('create', $node) || node_access('update', $node)),
+      '#access' => $preview_mode != DRUPAL_DISABLED && ($node->access('create') || $node->access('update')),
       '#value' => t('Preview'),
       '#weight' => 20,
       '#validate' => array(
@@ -305,7 +305,7 @@ protected function actions(array $form, array &$form_state) {
       ),
     );
 
-    $element['delete']['#access'] = node_access('delete', $node);
+    $element['delete']['#access'] = $node->access('delete');
     $element['delete']['#weight'] = 100;
 
     return $element;
@@ -445,7 +445,7 @@ public function save(array $form, array &$form_state) {
     if ($node->nid) {
       $form_state['values']['nid'] = $node->nid;
       $form_state['nid'] = $node->nid;
-      $form_state['redirect'] = node_access('view', $node) ? 'node/' . $node->nid : '<front>';
+      $form_state['redirect'] = $node->access('view') ? 'node/' . $node->nid : '<front>';
     }
     else {
       // In the unlikely case something went wrong on save, the node will be
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/argument_validator/Node.php b/core/modules/node/lib/Drupal/node/Plugin/views/argument_validator/Node.php
index a2b8b63..e9f7bec 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/argument_validator/Node.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/argument_validator/Node.php
@@ -94,7 +94,7 @@ function validate_argument($argument) {
         }
 
         if (!empty($this->options['access'])) {
-          if (!node_access($this->options['access_op'], $node)) {
+          if (!$node->access($this->options['access_op'])) {
             return FALSE;
           }
         }
@@ -126,7 +126,7 @@ function validate_argument($argument) {
           }
 
           if (!empty($this->options['access'])) {
-            if (!node_access($this->options['access_op'], $node)) {
+            if (!$node->access($this->options['access_op'])) {
               return FALSE;
             }
           }
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/field/Link.php b/core/modules/node/lib/Drupal/node/Plugin/views/field/Link.php
index dc77691..7fea19a 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/field/Link.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/field/Link.php
@@ -50,7 +50,7 @@ function render($values) {
   }
 
   function render_link($node, $values) {
-    if (node_access('view', $node)) {
+    if ($node->access('view')) {
       $this->options['alter']['make_link'] = TRUE;
       $this->options['alter']['path'] = "node/$node->nid";
       $text = !empty($this->options['text']) ? $this->options['text'] : t('view');
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkDelete.php b/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkDelete.php
index a1afd13..c1c523c 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkDelete.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkDelete.php
@@ -27,7 +27,7 @@ class LinkDelete extends Link {
    */
   function render_link($node, $values) {
     // Ensure user has access to delete this node.
-    if (!node_access('delete', $node)) {
+    if (!$node->access('delete')) {
       return;
     }
 
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkEdit.php b/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkEdit.php
index 529244f..0264864 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkEdit.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/field/LinkEdit.php
@@ -27,7 +27,7 @@ class LinkEdit extends Link {
    */
   function render_link($node, $values) {
     // Ensure user has access to edit this node.
-    if (!node_access('update', $node)) {
+    if (!$node->access('update')) {
       return;
     }
 
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/field/RevisionLink.php b/core/modules/node/lib/Drupal/node/Plugin/views/field/RevisionLink.php
index 24cee3d..e571da3 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/field/RevisionLink.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/field/RevisionLink.php
@@ -74,7 +74,7 @@ function get_revision_entity($values, $op) {
     // Unpublished nodes ignore access control.
     $node->status = 1;
     // Ensure user has access to perform the operation on this node.
-    if (!node_access($op, $node)) {
+    if (!$node->access($op)) {
       return array($node, NULL);
     }
     return array($node, $vid);
diff --git a/core/modules/node/node.admin.inc b/core/modules/node/node.admin.inc
index 139b2d2..0bcdd96 100644
--- a/core/modules/node/node.admin.inc
+++ b/core/modules/node/node.admin.inc
@@ -554,14 +554,14 @@ function node_admin_nodes() {
 
     // Build a list of all the accessible operations for the current node.
     $operations = array();
-    if (node_access('update', $node)) {
+    if ($node->access('update')) {
       $operations['edit'] = array(
         'title' => t('Edit'),
         'href' => 'node/' . $node->nid . '/edit',
         'query' => $destination,
       );
     }
-    if (node_access('delete', $node)) {
+    if ($node->access('delete')) {
       $operations['delete'] = array(
         'title' => t('Delete'),
         'href' => 'node/' . $node->nid . '/delete',
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 9d5fe32..7232cfb 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -1942,13 +1942,13 @@ function theme_node_recent_block($variables) {
       'data' => theme('node_recent_content', array('node' => $node)),
       'class' => 'title-author',
     );
-    if (node_access('update', $node)) {
+    if ($node->access('update')) {
       $row[] = array(
         'data' => l(t('edit'), 'node/' . $node->nid . '/edit', $l_options),
         'class' => 'edit',
       );
     }
-    if (node_access('delete', $node)) {
+    if ($node->access('delete')) {
       $row[] = array(
         'data' => l(t('delete'), 'node/' . $node->nid . '/delete', $l_options),
         'class' => 'delete',
@@ -3542,6 +3542,7 @@ function node_modules_disabled($modules) {
  */
 function node_file_download_access($field, EntityInterface $entity, File $file) {
   if ($entity->entityType() == 'node') {
+    // @todo revisit later
     return node_access('view', $entity);
   }
 }
diff --git a/core/modules/node/node.pages.inc b/core/modules/node/node.pages.inc
index 863babd..b2199c3 100644
--- a/core/modules/node/node.pages.inc
+++ b/core/modules/node/node.pages.inc
@@ -43,6 +43,7 @@ function node_add_page() {
   $content = array();
   // Only use node types the user has access to.
   foreach (node_type_get_types() as $type) {
+    // @todo Revisit later
     if (node_hook($type->type, 'form') && node_access('create', $type->type)) {
       $content[$type->type] = $type;
     }
@@ -125,7 +126,7 @@ function node_add($node_type) {
  * @see node_form_build_preview()
  */
 function node_preview(EntityInterface $node) {
-  if (node_access('create', $node) || node_access('update', $node)) {
+  if ($node->access('create') || $node->access('update')) {
     _field_invoke_multiple('load', 'node', array($node->nid => $node));
     // Load the user's name when needed.
     if (isset($node->name)) {
@@ -254,11 +255,11 @@ function node_revision_overview($node) {
   $type = $node->type;
 
   $revert_permission = FALSE;
-  if ((user_access("revert $type revisions") || user_access('revert all revisions') || user_access('administer nodes')) && node_access('update', $node)) {
+  if ((user_access("revert $type revisions") || user_access('revert all revisions') || user_access('administer nodes')) && $node->access('update')) {
     $revert_permission = TRUE;
   }
   $delete_permission = FALSE;
-  if ((user_access("delete $type revisions") || user_access('delete all revisions') || user_access('administer nodes')) && node_access('delete', $node)) {
+  if ((user_access("delete $type revisions") || user_access('delete all revisions') || user_access('administer nodes')) && $node->access('delete')) {
     $delete_permission = TRUE;
   }
   foreach ($revisions as $revision) {
diff --git a/core/modules/translation/translation.module b/core/modules/translation/translation.module
index 41d8e83..f76221c 100644
--- a/core/modules/translation/translation.module
+++ b/core/modules/translation/translation.module
@@ -85,7 +85,7 @@ function translation_menu() {
  * @see translation_menu()
  */
 function _translation_tab_access($node) {
-  if ($node->langcode != LANGUAGE_NOT_SPECIFIED && translation_supported_type($node->type) && node_access('view', $node)) {
+  if ($node->langcode != LANGUAGE_NOT_SPECIFIED && translation_supported_type($node->type) && $node->access('view')) {
     return translation_user_can_translate_node($node);
   }
   return FALSE;
diff --git a/core/modules/translation/translation.pages.inc b/core/modules/translation/translation.pages.inc
index 7f85d3b..e36949e 100644
--- a/core/modules/translation/translation.pages.inc
+++ b/core/modules/translation/translation.pages.inc
@@ -64,7 +64,7 @@ function translation_node_overview(EntityInterface $node) {
     else {
       // No such translation in the set yet: help user to create it.
       $title = t('n/a');
-      if (node_access('create', $node)) {
+      if ($node->access('create')) {
         $path = 'node/add/' . $node->type;
         $links = language_negotiation_get_switch_links($type, $path);
         $query = array('query' => array('translation' => $node->nid, 'target' => $langcode));
