diff --git a/field_collection.module b/field_collection.module
index 6462014..20f0112 100644
--- a/field_collection.module
+++ b/field_collection.module
@@ -1675,23 +1675,9 @@ function field_collection_field_widget_embed_validate($element, &$form_state, $c
   // 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'])) {
     foreach ($element['#field_collection_required_elements'] as &$elements) {
-
-      // Copied from _form_validate().
-      // #1676206: Modified to support options widget.
-      if (isset($elements['#needs_validation'])) {
-        $is_empty_multiple = (!count($elements['#value']));
-        $is_empty_string = (is_string($elements['#value']) && drupal_strlen(trim($elements['#value'])) == 0);
-        $is_empty_value = ($elements['#value'] === 0);
-        $is_empty_option = (isset($elements['#options']['_none']) && $elements['#value'] == '_none');
-        if ($is_empty_multiple || $is_empty_string || $is_empty_value || $is_empty_option) {
-          if (isset($elements['#title'])) {
-            form_error($elements, t('!name field is required.', array('!name' => $elements['#title'])));
-          }
-          else {
-            form_error($elements);
-          }
-        }
-      }
+      unset($elements['#validated']);
+      $elements['#required'] = TRUE;
+      _form_validate($elements, $form_state);
     }
   }
 
