diff --git a/modules/node.module b/modules/node.module
index c0fd6ac16981f07518e5271706132b00b60c99cd..398404aee1de249377d662b18dfaa5117528be2b 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -928,7 +928,13 @@ function node_add($type) {
 
   if ($type && node_access("create", $type)) {
     // Initialize settings
-    $output = node_form(array("uid" => $user->uid, "name" => $user->name, "type" => $type, "status" => 1, "promote" => !module_exist("queue"), "moderate" => module_exist("queue"), "comment" => module_exist("queue") ? 2 : 0, "title" => check_input($edit["title"]), "body" => check_input($edit["body"])));
+    $node = array("uid" => $user->uid, "name" => $user->name, "type" => $type, "status" => 1, "promote" => !module_exist("queue"), "moderate" => module_exist("queue"), "comment" => module_exist("queue") ? 2 : 0);
+    foreach (array("title", "teaser", "body") as $field) {
+      if ($edit[$field]) {
+        $node[$field] = check_input($edit[$field]);
+      }
+    }     
+    $output = node_form($node);
   }
   else {
 
diff --git a/modules/node/node.module b/modules/node/node.module
index c0fd6ac16981f07518e5271706132b00b60c99cd..398404aee1de249377d662b18dfaa5117528be2b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -928,7 +928,13 @@ function node_add($type) {
 
   if ($type && node_access("create", $type)) {
     // Initialize settings
-    $output = node_form(array("uid" => $user->uid, "name" => $user->name, "type" => $type, "status" => 1, "promote" => !module_exist("queue"), "moderate" => module_exist("queue"), "comment" => module_exist("queue") ? 2 : 0, "title" => check_input($edit["title"]), "body" => check_input($edit["body"])));
+    $node = array("uid" => $user->uid, "name" => $user->name, "type" => $type, "status" => 1, "promote" => !module_exist("queue"), "moderate" => module_exist("queue"), "comment" => module_exist("queue") ? 2 : 0);
+    foreach (array("title", "teaser", "body") as $field) {
+      if ($edit[$field]) {
+        $node[$field] = check_input($edit[$field]);
+      }
+    }     
+    $output = node_form($node);
   }
   else {