diff --git a/field_collection.module b/field_collection.module
index 80e4588..d4a9a6a 100644
--- a/field_collection.module
+++ b/field_collection.module
@@ -1289,13 +1289,17 @@ function field_collection_field_widget_embed_validate($element, &$form_state, $c
   $language = $element['#language'];
 
   $field_state = field_form_get_state($field_parents, $field_name, $language, $form_state);
-  $field_collection_item = $field_state['entity'][$element['#delta']];
-
+  if (isset($field_state['entity'][$element['#delta']])) {
+    $field_collection_item = $field_state['entity'][$element['#delta']];
+  }
+  if (empty($field_collection_item)) {
+    return;
+  }
   // Attach field API validation of the embedded form.
   field_attach_form_validate('field_collection_item', $field_collection_item, $element, $form_state);
 
   // Now validate required elements if the entity is not empty.
-  if (!field_collection_item_is_empty($field_collection_item) && !empty($element['#field_collection_required_elements'])) {
+  if ($field_collection_item && !field_collection_item_is_empty($field_collection_item) && !empty($element['#field_collection_required_elements'])) {
     foreach ($element['#field_collection_required_elements'] as &$elements) {
 
       // Copied from _form_validate().
