Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.776.2.1
diff -u -p -r1.776.2.1 node.module
--- modules/node/node.module	29 Jan 2007 21:51:53 -0000	1.776.2.1
+++ modules/node/node.module	18 Feb 2007 21:59:30 -0000
@@ -1888,8 +1888,14 @@ function node_submit($node) {
   else {
     $node_options = variable_get('node_options_'. $node->type, array('status', 'promote'));
   }
+  $node_options = variable_get('node_options_'. $node->type, array('status', 'promote'));
+
   foreach (array('status', 'promote', 'sticky', 'revision') as $key) {
-    if (!$access && $node->nid) {
+    // If user doesn't have access and we have an option from the previous node
+    // we overide with the previous value. Otherwise, if we didn't get a value
+    // or the user doesn't have access we use the default value for the node
+    // type.
+    if (!$access && $node->nid && isset($saved_node->$key)) {
       $node->$key = $saved_node->$key;
     }
     else if (!isset($node->$key) || !$access) {
