diff --git editablefields.module editablefields.module
index 6cd34e4..af1ddf7 100755
--- editablefields.module
+++ editablefields.module
@@ -287,13 +287,17 @@ function editablefields_submit() {
      * array with 'something' so that when the form is executed, it fills in the
      * right value - I dislike this code - JMB */
     if (is_array($node->{$field_name})) {
+      $field = content_fields($field_name);
+
       if (content_handle('widget', 'multiple values', $field) == CONTENT_HANDLE_CORE) {
         if (empty($form_state['values'][$field_name])) {
-          $form_state['values'][$field_name]=array('value'=>0);
+          $form_state['values'][$field_name] = array('value' => 0);
         }
-      } else {
-        if (empty($form_state['values'][$field_name][0])) {
-          $form_state['values'][$field_name][0]=array('value'=>0);
+      }
+      else {
+        if (empty($form_state['values'][$field_name]['value'])) {
+          $options = optionwidgets_options($field);
+          $form_state['values'][$field_name]['value'] = array_fill_keys(array_keys($options), 0);
         }
       }
 
@@ -312,7 +316,6 @@ function editablefields_submit() {
         exit();
       }
 
-      $field = content_fields($field_name);
       // the matrix field identifies itself as being multivalue, but in fact, it is not.
       if ((content_handle('widget', 'multiple values', $field) == CONTENT_HANDLE_CORE) && ($field['type'] != matrix)) {
         if ($node->{$field_name}[$delta] != $form_state['values'][$field_name][0]) {
