diff --git a/includes/modal.inc b/includes/modal.inc
index 1176ff0..4d2d7b4 100644
--- a/includes/modal.inc
+++ b/includes/modal.inc
@@ -208,8 +208,8 @@ function ctools_modal_form_wrapper($form_id, &$form_state) {
   );
 
   $output = drupal_build_form($form_id, $form_state);
-  if (!empty($form_state['ajax']) && empty($form_state['executed'])) {
-    return ctools_modal_form_render($form_state, $output);
+ if (!empty($form_state['ajax']) && (!$form_state['executed'] || $form_state['rebuild'])) {
+     return ctools_modal_form_render($form_state, $output);
   }
 
   return $output;
