diff --git a/boxes.module b/boxes.module
index cff3316..33f7612 100644
--- boxes.module
+++ boxes.module
@@ -148,6 +150,7 @@ function boxes_block_view($delta) {
     // We need to explicitly set the form input as empty to avoid the form being
     // processed. The actual form submission is handled in the footer.
     $form_state['input'] = array();
+    $form_state['init_form'] = TRUE;
     $form = drupal_build_form('boxes_box_form', $form_state);
 
     $block['delta'] = $delta;
@@ -238,8 +241,9 @@ function boxes_footer() {
         );
       }
       $form = drupal_build_form('boxes_box_form', $form_state);
-
-      if (empty($form_state['submitted'])) {
+      
+      //  if we are comming from a init form and need to continue then lets render the form again
+      if (empty($form_state['submitted']) || isset($_GET['init_form_continue'])) {
         $output[] = ajax_command_html('#boxes-box-' . $delta, drupal_render($form));
       }
       else {
@@ -378,6 +382,17 @@ function boxes_box_form($form, &$form_state) {
         'plugin_key' => $form_state['plugin_key'],
       )));
   }
+  if(isset($form_state['init_form']) && $box->use_multi_step_create_form()) {
+    unset($form['options']);
+    $form['submit']['#value'] = t('Save and Continue');
+    if (!empty($form_state['custom_action'])) {
+      $form['#action'] = url($_GET['q'], array('query' => array(
+          'boxes_delta' => $box->delta,
+          'init_form_continue' => TRUE,
+          'plugin_key' => $form_state['plugin_key'],
+        )));
+    }
+  }
 
   return $form;
 }
diff --git a/plugins/boxes_box.inc b/plugins/boxes_box.inc
index d5677cf..298c753 100644
--- plugins/boxes_box.inc
+++ plugins/boxes_box.inc
@@ -121,6 +121,16 @@ abstract class boxes_box {
   }
 
   /**
+   * Declare if the box should use a multi form for the create form
+   * This might me nessesary for forms that use ajax on the options form
+   * Currently Context does not load this block correctly and the ajax in the 
+   * form will not work
+   */
+  public function use_multi_step_create_form() {
+    return FALSE;
+  }
+
+  /**
    * Declare default options.
    */
   abstract public function options_defaults();
