diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index bdd5051..7e49dd2 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -1957,7 +1957,7 @@ function _node_revision_access($node, $op = 'view', $account = NULL) {
     // different revisions so there is no need for a separate database check.
     // Also, if you try to revert to or delete the current revision, that's
     // not good.
-    if ($is_current_revision && (db_query('SELECT COUNT(vid) FROM {node_revision} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField() == 1 || $op == 'update' || $op == 'delete')) {
+    if ($is_current_revision && ($op == 'update' || $op == 'delete' || db_query('SELECT COUNT(vid) FROM {node_revision} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField() == 1)) {
       $access[$cid] = FALSE;
     }
     elseif (user_access('administer nodes', $account)) {
diff --git a/core/modules/node/node.test b/core/modules/node/node.test
index 058e0e7..4deaafc 100644
--- a/core/modules/node/node.test
+++ b/core/modules/node/node.test
@@ -2422,6 +2422,17 @@ class NodeRevisionPermissionsTestCase extends NodeWebTestCase {
     $GLOBALS['user'] = $admin_account;
     $this->assertTrue(_node_revision_access($revision, 'view'), '_node_revision_access() returns TRUE when used with global user.');
     $GLOBALS['user'] = $original_user;
+
+    // Test that user cannot delete/update current revision.
+    $last_revision = end($this->node_revisions);
+    $this->assertFalse(_node_revision_access($last_revision, 'update', $this->accounts['admin']), "_node_revision_access returns FALSE when used with current revision and revert.");
+    $this->assertFalse(_node_revision_access($last_revision, 'delete', $this->accounts['admin']), "_node_revision_access returns FALSE when used with current revision and update.");
+
+    // Create a node with a single revision and make sure cannot view/update/delete it.
+    $node_with_one_revision = $this->drupalCreateNode();
+    $this->assertFalse(_node_revision_access($node_with_one_revision, 'view', $this->accounts['admin']), "_node_revision_access returns FALSE when viewing node with one revision.");
+    $this->assertFalse(_node_revision_access($node_with_one_revision, 'update', $this->accounts['admin']), "_node_revision_access returns FALSE when reverting node with one revision.");
+    $this->assertFalse(_node_revision_access($node_with_one_revision, 'revert', $this->accounts['admin']), "_node_revision_access returns FALSE when deleting node with one revision.");
   }
 }
 
