--- node.module 2006-08-29 10:07:33.000000000 -0400 +++ node.module.patched 2006-08-29 10:06:30.000000000 -0400 @@ -1785,9 +1785,19 @@ } // Force defaults in case people modify the form: $node_options = variable_get('node_options_'. $node->type, array('status', 'promote')); + // Unless it's an existing node - in that case preserve the properties + if ($node->nid) { + $was_node = node_load($node->nid); + } + foreach (array('status', 'promote', 'sticky', 'revision') as $key) { if (!$access || !isset($node->$key)) { - $node->$key = in_array($key, $node_options); + if ($node->nid) { + $node->$key = $was_node->$key; + } + else { + $node->$key = in_array($key, $node_options); + } } }