diff --git a/modules/node.module b/modules/node.module
index 7a93c745a0cbb2d29f14e373a1e92269d6c0b86a..1fec44acacf2f229e899823c6cfc6bdd29867a34 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1670,7 +1670,9 @@ function node_form($node) {
 }
 
 function node_form_add_preview($form_id, $form, $edit) {
-  $form['node_preview'] = array('#value' => node_preview(node_validate($edit)), '#weight' => -100);
+  $edit = array2object($edit);
+  node_validate($edit);
+  $form['node_preview'] = array('#value' => node_preview($edit), '#weight' => -100);
   return $form;
 }
 
diff --git a/modules/node/node.module b/modules/node/node.module
index 7a93c745a0cbb2d29f14e373a1e92269d6c0b86a..1fec44acacf2f229e899823c6cfc6bdd29867a34 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1670,7 +1670,9 @@ function node_form($node) {
 }
 
 function node_form_add_preview($form_id, $form, $edit) {
-  $form['node_preview'] = array('#value' => node_preview(node_validate($edit)), '#weight' => -100);
+  $edit = array2object($edit);
+  node_validate($edit);
+  $form['node_preview'] = array('#value' => node_preview($edit), '#weight' => -100);
   return $form;
 }