diff --git boxes.module boxes.module
index cff3316..74f00ba 100644
--- boxes.module
+++ boxes.module
@@ -363,7 +363,7 @@ function boxes_box_form($form, &$form_state) {
     '#default_value' => $box->title,
     '#weight' => -18,
   );
-  $form['options'] = $box->options_form();
+  $form['options'] = $box->options_form($form_state);
   $form['options']['#weight'] = -17;
 
   $form['submit'] = array(
@@ -388,7 +388,12 @@ function boxes_box_form($form, &$form_state) {
 function boxes_box_form_submit($form, $form_state) {
   $box = boxes_factory($form_state['values']['plugin_key'], $form_state['values']);
 
-  if (module_exists('spaces') && $space = spaces_get_space()) {
+ // if the options_submit has been def let the box consume the submit
+ if (method_exists($box,'options_submit')) {
+     $box->options_submit($form, $form_state);
+   }
+
+ if (module_exists('spaces') && $space = spaces_get_space()) {
     $space->controllers->boxes->set($box->delta, $box);
   }
   else {
diff --git plugins/boxes_box.inc plugins/boxes_box.inc
index d5677cf..97ddc4f 100644
--- plugins/boxes_box.inc
+++ plugins/boxes_box.inc
@@ -128,7 +128,7 @@ abstract class boxes_box {
   /**
    * Provide options to configure content.
    */
-  abstract public function options_form();
+  abstract public function options_form(&$form_state);
 
   /**
    * Render a block. Must return an array with the keys
diff --git plugins/boxes_simple.inc plugins/boxes_simple.inc
index c862555..b493c9a 100644
--- plugins/boxes_simple.inc
+++ plugins/boxes_simple.inc
@@ -19,7 +19,7 @@ class boxes_simple extends boxes_box {
   /**
    * Implementation of boxes_content::options_form().
    */
-  public function options_form() {
+  public function options_form(&$form_state) {
     $format = filter_format_load($this->options['body']['format']);
 
     if (filter_access($format)) {
