diff --git a/modules/node.module b/modules/node.module
index fc1f50fb92e2f77a200f646e3087425c8db6d017..c4fd58b362776498a61d46786448fbac2cdc37f9 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1344,28 +1344,27 @@ function node_revision_rollback($nid, $revision) {
  * Delete the revision with specified revision number.
  */
 function node_revision_delete($nid, $revision) {
-
   if (user_access('administer nodes')) {
     $node = node_load($nid);
     if (node_access('delete', $node)) {
-      $current_revision = db_result(db_query('SELECT vid FROM {node} WHERE nid = %d', $nid));
       // Don't delete the current revision
-      if ($revision != $current_revision) {
+      if ($revision != $node->vid) {
         $node = node_load($nid, $revision);
 
         db_query("DELETE FROM {node_revisions} WHERE nid = %d AND vid = %d", $nid, $revision);
+        node_invoke_nodeapi($node, 'delete revision');
+        drupal_set_message(t('Deleted %title revision %revision.', array('%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
+        watchdog('content', t('%type: deleted %title revision %revision.', array('%type' => theme('placeholder', t($node->type)), '%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
+      }
 
-      node_invoke_nodeapi($node, 'delete revision');
-      drupal_set_message(t('Deleted %title revision %revision.', array('%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
-      watchdog('content', t('%type: deleted %title revision %revision.', array('%type' => theme('placeholder', t($node->type)), '%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
-    }
-    else {
-      drupal_set_message(t('Deletion failed. You tried to delete the current revision.'));
-    }
+      else {
+        drupal_set_message(t('Deletion failed. You tried to delete the current revision.'));
+      }
 
-    drupal_goto("node/$nid/revisions");
+      drupal_goto("node/$nid/revisions");
     }
   }
+
   drupal_access_denied();
 }
 
diff --git a/modules/node/node.module b/modules/node/node.module
index fc1f50fb92e2f77a200f646e3087425c8db6d017..c4fd58b362776498a61d46786448fbac2cdc37f9 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1344,28 +1344,27 @@ function node_revision_rollback($nid, $revision) {
  * Delete the revision with specified revision number.
  */
 function node_revision_delete($nid, $revision) {
-
   if (user_access('administer nodes')) {
     $node = node_load($nid);
     if (node_access('delete', $node)) {
-      $current_revision = db_result(db_query('SELECT vid FROM {node} WHERE nid = %d', $nid));
       // Don't delete the current revision
-      if ($revision != $current_revision) {
+      if ($revision != $node->vid) {
         $node = node_load($nid, $revision);
 
         db_query("DELETE FROM {node_revisions} WHERE nid = %d AND vid = %d", $nid, $revision);
+        node_invoke_nodeapi($node, 'delete revision');
+        drupal_set_message(t('Deleted %title revision %revision.', array('%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
+        watchdog('content', t('%type: deleted %title revision %revision.', array('%type' => theme('placeholder', t($node->type)), '%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
+      }
 
-      node_invoke_nodeapi($node, 'delete revision');
-      drupal_set_message(t('Deleted %title revision %revision.', array('%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
-      watchdog('content', t('%type: deleted %title revision %revision.', array('%type' => theme('placeholder', t($node->type)), '%title' => theme('placeholder', $node->title), '%revision' => theme('placeholder', $revision))));
-    }
-    else {
-      drupal_set_message(t('Deletion failed. You tried to delete the current revision.'));
-    }
+      else {
+        drupal_set_message(t('Deletion failed. You tried to delete the current revision.'));
+      }
 
-    drupal_goto("node/$nid/revisions");
+      drupal_goto("node/$nid/revisions");
     }
   }
+
   drupal_access_denied();
 }