diff --git modules/node/node.pages.inc modules/node/node.pages.inc index c5a8307..285dd58 100644 --- modules/node/node.pages.inc +++ modules/node/node.pages.inc @@ -315,6 +315,9 @@ function node_form_build_preview($form, &$form_state) { */ function node_preview($node) { if (node_access('create', $node) || node_access('update', $node)) { + // Previewing alters $node so it needs to be cloned. + $node = clone $node; + _field_invoke_multiple('load', 'node', array($node->nid => $node)); // Load the user's name when needed. if (isset($node->name)) { @@ -339,11 +342,9 @@ function node_preview($node) { field_attach_prepare_view('node', $nodes, 'full'); // Display a preview of the node. - // Previewing alters $node so it needs to be cloned. if (!form_get_errors()) { - $cloned_node = clone $node; - $cloned_node->in_preview = TRUE; - $output = theme('node_preview', array('node' => $cloned_node)); + $node->in_preview = TRUE; + $output = theme('node_preview', array('node' => $node)); } drupal_set_title(t('Preview'), PASS_THROUGH);