Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.967 diff -u -p -r1.967 node.module --- modules/node/node.module 26 May 2008 17:12:55 -0000 1.967 +++ modules/node/node.module 6 Jul 2008 20:56:27 -0000 @@ -937,14 +937,16 @@ function node_save(&$node) { // 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'); @@ -952,9 +954,6 @@ function node_save(&$node) { } $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