--- includes/form.inc	2010-08-06 15:02:49.000000000 +0400
+++ includes/form.inc	2010-08-30 18:35:54.000000000 +0400
@@ -102,13 +102,13 @@ function drupal_get_form($form_id) {
       $form = call_user_func_array('drupal_retrieve_form', $args_temp);
       $form_build_id = 'form-'. md5(uniqid(mt_rand(), TRUE));
       $form['#build_id'] = $form_build_id;
-      drupal_prepare_form($form_id, $form, $form_state);
       // Store a copy of the unprocessed form for caching and indicate that it
       // is cacheable if #cache will be set.
       $original_form = $form;
       $cacheable = TRUE;
       unset($form_state['post']);
     }
+    drupal_prepare_form($form_id, $form, $form_state);
     $form['#post'] = $_POST;

     // Now that we know we have a form, we'll process it (validating,
