diff --git a/paragraphs.field_widget.inc b/paragraphs.field_widget.inc
index ef219f1..f0c28ce 100644
--- a/paragraphs.field_widget.inc
+++ b/paragraphs.field_widget.inc
@@ -356,6 +356,12 @@ function paragraphs_field_widget_form_build(&$form, &$form_state, $field, $insta
   $field_name = $element['#field_name'];
   $language = $element['#language'];
 
+  // Set host entity data since field_attach_form() override the $element values
+  // with the values for the paragraph item.
+  $element['#host_entity_type'] = $element['#entity_type'];
+  $element['#host_entity'] = $element['#entity'];
+  $element['#host_bundle'] = $element['#bundle'];
+
   $bundle = FALSE;
   $id_prefix = implode('-', array_merge($field_parents, array($field_name)));
 
@@ -407,7 +413,7 @@ function paragraphs_field_widget_form_build(&$form, &$form_state, $field, $insta
 
     /* @var $paragraph_item ParagraphsItemEntity */
     $paragraph_item = $field_state['entity'][$delta];
-    $paragraph_item->setHostEntity($field_state['instance']['entity_type'], $element['#entity'], $langcode, FALSE);
+    $paragraph_item->setHostEntity($element['#host_entity_type'], $element['#host_entity'], $langcode, FALSE);
   }
   else {
     if (isset($items[$delta])) {
@@ -426,7 +432,7 @@ function paragraphs_field_widget_form_build(&$form, &$form_state, $field, $insta
 
     if (!empty($paragraph_item)) {
       /* @var $paragraph_item ParagraphsItemEntity */
-      $paragraph_item->setHostEntity($element['#entity_type'], $element['#entity'], $langcode, FALSE);
+      $paragraph_item->setHostEntity($element['#host_entity_type'], $element['#host_entity'], $langcode, FALSE);
 
       // Put our entity in the form state, so FAPI callbacks can access it.
       $field_state['entity'][$delta] = $paragraph_item;
