Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.757 diff -u -p -r1.757 node.module --- modules/node/node.module 21 Dec 2006 22:22:14 -0000 1.757 +++ modules/node/node.module 23 Dec 2006 10:34:11 -0000 @@ -2046,8 +2046,14 @@ function node_form_add_preview($form) { if ($op == t('Preview')) { drupal_validate_form($form['form_id']['#value'], $form); if (!form_get_errors()) { - // We pass the global $form_values here to preserve changes made during form validation - $form['#prefix'] = node_preview((object)$form_values); + // If the node form already has a #prefix, we must preserve it. + // In this case, we put the preview before the #prefix so we keep + // the #prefix as "close" to the rest of the form as possible, + // for example, to keep a
only around the form, not the + // preview. We pass the global $form_values here to preserve + // changes made during form validation. + $preview = node_preview((object)$form_values); + $form['#prefix'] = isset($form['#prefix']) ? $preview . $form['#prefix'] : $preview; } } if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {