diff --git a/src/Plugin/Field/FieldWidget/InlineEntityFormMultiple.php b/src/Plugin/Field/FieldWidget/InlineEntityFormMultiple.php
index f3ed68f..2793e97 100644
--- a/src/Plugin/Field/FieldWidget/InlineEntityFormMultiple.php
+++ b/src/Plugin/Field/FieldWidget/InlineEntityFormMultiple.php
@@ -134,6 +134,12 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
 
     // Get the fields that should be displayed in the table.
     $target_bundles = isset($settings['handler_settings']['target_bundles']) ? $settings['handler_settings']['target_bundles'] : array();
+
+    // None allowed target bundles means all of them.
+    if (!$target_bundles) {
+      $target_bundles = array_keys($this->entityManager->getBundleInfo($settings['target_type']));
+    }
+
     $fields = $this->iefHandler->tableFields($target_bundles);
     $context = array(
       'parent_entity_type' => $this->fieldDefinition->getTargetEntityTypeId(),
@@ -316,6 +322,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
 
     // If no form is open, show buttons that open one.
     $inline_entity_form_form = $form_state->get(['inline_entity_form', $this->getIefId(), 'form']);
+
     if (empty($inline_entity_form_form)) {
       $element['actions'] = array(
         '#attributes' => array('class' => array('container-inline')),
@@ -799,7 +806,13 @@ protected function determineBundle(FormStateInterface $form_state) {
       return $ief_settings['bundle'];
     }
     else {
-      return reset($ief_settings['settings']['handler_settings']['target_bundles']);
+      $target_bundles = $ief_settings['settings']['handler_settings']['target_bundles'];
+      // If no target bundles are available this means that entity reference
+      // allows all.
+      if (!$target_bundles) {
+        $target_bundles = $this->entityManager->getBundleInfo($ief_settings['settings']['target_type']);
+      }
+      return reset($target_bundles);
     }
   }
 
