### Eclipse Workspace Patch 1.0
#P drupal-head
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.968
diff -u -r1.968 node.module
--- modules/node/node.module	16 Jul 2008 21:59:27 -0000	1.968
+++ modules/node/node.module	20 Jul 2008 16:25:34 -0000
@@ -933,28 +933,25 @@ function node_save(&$node) {
 
   $node->timestamp = time();
   $node->format = isset($node->format) ? $node->format : FILTER_FORMAT_DEFAULT;
-  $update_node = TRUE;
 
   // Generate the node table query and the node_revisions table query.
   if ($node->is_new) {
-    drupal_write_record('node', $node);
     _node_save_revision($node, $user->uid);
+    drupal_write_record('node', $node);
+    db_query('UPDATE {node_revisions} SET nid = %d WHERE vid = %d', $node->nid, $node->vid);
     $op = 'insert';
   }
   else {
     drupal_write_record('node', $node, 'nid');
     if (!empty($node->revision)) {
       _node_save_revision($node, $user->uid);
+      db_query('UPDATE {node} SET vid = %d WHERE nid = %d', $node->vid, $node->nid);
     }
     else {
       _node_save_revision($node, $user->uid, 'vid');
-      $update_node = FALSE;
     }
     $op = 'update';
   }
-  if ($update_node) {
-    db_query('UPDATE {node} SET vid = %d WHERE nid = %d', $node->vid, $node->nid);
-  }
 
   // Call the node specific callback (if any). This can be
   // node_invoke($node, 'insert') or
