Index: form.inc
===================================================================
--- form.inc	(revision 2705)
+++ form.inc	(working copy)
@@ -301,7 +301,7 @@
 
   // Make sure $form_state is passed around by reference.
   $args[1] = &$form_state;
-  
+
   $form = call_user_func_array('drupal_retrieve_form', $args);
   $form['#post'] = $form_state['values'];
   drupal_prepare_form($form_id, $form, $form_state);
@@ -767,8 +767,8 @@
 
   foreach ($handlers as $function) {
     if (function_exists($function))  {
-      // Check to see if a previous _submit handler has set a batch, but 
-      // make sure we do not react to a batch that is already being processed 
+      // Check to see if a previous _submit handler has set a batch, but
+      // make sure we do not react to a batch that is already being processed
       // (for instance if a batch operation performs a drupal_execute()).
       if ($type == 'submit' && ($batch =& batch_get()) && !isset($batch['current_set'])) {
         // Some previous _submit handler has set a batch. We store the call
@@ -894,7 +894,7 @@
   // Recurse through all child elements.
   $count = 0;
   foreach (element_children($form) as $key) {
-    $form[$key]['#post'] = $form['#post'];
+    $form[$key]['#post'] = isset($form['#post']) ? $form['#post'] : array();
     $form[$key]['#programmed'] = $form['#programmed'];
     // Don't squash an existing tree value.
     if (!isset($form[$key]['#tree'])) {
