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) {