diff --git a/editablefields.module b/editablefields.module
index ea320fd..ad2e086 100755
--- a/editablefields.module
+++ b/editablefields.module
@@ -311,8 +311,11 @@ function editablefields_form($form, &$form_state, $entity_type, $entity, $field,
 
   // Remove the title of the field.
   $instance['label'] = '';
+  if (!isset($form_state['edit_mode'])) {
+    $form_state['edit_mode'] = array();
+  }
 
-  $edit_mode_state = isset($form_state['edit_mode']) && drupal_array_get_nested_value($form_state['edit_mode'], $form['#parents']);
+  $edit_mode_state = isset($form_state['edit_mode']) && is_array($form_state['edit_mode']) && count($form_state['edit_mode']) && drupal_array_get_nested_value($form_state['edit_mode'], $form['#parents']);
   $edit_mode = empty($display['settings']['click_to_edit']) || $edit_mode_state;
 
   if ($edit_mode) {
@@ -471,7 +474,9 @@ function editablefields_form_submit_edit_mode(&$form, &$form_state) {
   if (!isset($form_state['edit_mode'])) {
     $form_state['edit_mode'] = array();
   }
-  drupal_array_set_nested_value($form_state['edit_mode'], $parents, TRUE);
+  if (isset($form_state['edit_mode']) && is_array($form_state['edit_mode']) && count($form_state['edit_mode'])) {
+    drupal_array_set_nested_value($form_state['edit_mode'], $parents, TRUE);
+  }
 
   $form_state['rebuild'] = TRUE;
 }
@@ -493,9 +498,11 @@ function editablefields_form_submit(&$form, &$form_state) {
   if (!isset($form_state['edit_mode'])) {
     $form_state['edit_mode'] = array();
   }
-  drupal_array_set_nested_value($form_state['edit_mode'], $parents, FALSE);
+  if (isset($form_state['edit_mode']) && is_array($form_state['edit_mode']) && count($form_state['edit_mode'])) {
+    drupal_array_set_nested_value($form_state['edit_mode'], $parents, FALSE);
+  }
 
-  $entity = $form_state['editablefields_entities'][$element['#entity_type']][$element['#entity_id']];
+  $entity = reset(entity_load($element['#entity_type'], array($element['#entity_id'])));
 
   entity_form_submit_build_entity($element['#entity_type'], $entity, $element, $form_state);
 
