Hi I am doing an ajax callback, and I want to return a fresh version of a form as content. This is after the form has successfully submitted. So instead of something like: return 'Thanks for your submission'; Which works, I want to do: return 'Thanks for your submission' . drupal_render(drupal_get_form('foo')); However when I get that that form, it is not fresh. The form system reprocesses the form, re-runs the submit handler, and returns a form with the $form_state['values'] all populated. So, I've been trying to work out how to reset the form. For example, this sort of thing doesn't successfully clear the form: cache_clear_all('form_' . $form_state['values']['form_build_id'], 'cache_form'); cache_clear_all('form_state_' . $form_state['values']['form_build_id'], 'cache_form'); drupal_static_reset('drupal_retrieve_form'); Thanks for any tips. Simon