Index: includes/form.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/form.inc,v retrieving revision 1.265.2.28 diff -u -r1.265.2.28 form.inc --- includes/form.inc 16 Sep 2009 17:54:19 -0000 1.265.2.28 +++ includes/form.inc 30 Sep 2009 02:52:56 -0000 @@ -131,14 +131,14 @@ // the form will simply be re-rendered with the values still in its // fields. // - // If $form_state['storage'] or $form_state['rebuild'] has been set - // and the form has been submitted, we know that we're in a complex - // multi-part process of some sort and the form's workflow is NOT - // complete. We need to construct a fresh copy of the form, passing - // in the latest $form_state in addition to any other variables passed - // into drupal_get_form(). + // If $form_state['storage'] or $form_state['rebuild'] have been + // set by any submit or validate handlers, however, we know that + // we're in a complex multi-part process of some sort and the form's + // workflow is NOT complete. We need to construct a fresh copy of + // the form, passing in the latest $form_state in addition to any + // other variables passed into drupal_get_form(). - if ((!empty($form_state['storage']) || !empty($form_state['rebuild'])) && !empty($form_state['submitted']) && !form_get_errors()) { + if (!empty($form_state['rebuild']) || !empty($form_state['storage'])) { $form = drupal_rebuild_form($form_id, $form_state, $args); }