diff --git a/src/Plugin/facets/processor/TranslateEntityProcessor.php b/src/Plugin/facets/processor/TranslateEntityProcessor.php
index 4b1591e..0000440 100644
--- a/src/Plugin/facets/processor/TranslateEntityProcessor.php
+++ b/src/Plugin/facets/processor/TranslateEntityProcessor.php
@@ -87,29 +87,7 @@ class TranslateEntityProcessor extends ProcessorPluginBase implements BuildProce
       $ids[$delta] = $result->getRawValue();
     }
 
-    // Default to nodes.
-    $entity_type = 'node';
-    $source = $facet->getFacetSource();
-
-    // Support multiple entity types when using Search API.
-    if ($source instanceof SearchApiDisplay) {
-
-      $field_id = $facet->getFieldIdentifier();
-
-      // Load the index from the source, load the definition from the
-      // datasource.
-      /** @var \Drupal\facets\FacetSource\SearchApiFacetSourceInterface $source */
-      $index = $source->getIndex();
-      $field = $index->getField($field_id);
-      $datasource = $field->getDatasource();
-
-      // Load the field from the entity manager and find the entity type trough
-      // that.
-      $entity_id = $datasource->getEntityTypeId() . '.' . $field_id;
-      $field_storage = $this->entityTypeManager->getStorage('field_storage_config');
-      $field_config = $field_storage->load($entity_id);
-      $entity_type = $field_config->getSetting('target_type');
-    }
+    $entity_type = $this->getEntityType($facet);
 
     // Load all indexed entities of this type.
     $entities = $this->entityTypeManager
@@ -140,4 +118,30 @@ class TranslateEntityProcessor extends ProcessorPluginBase implements BuildProce
     return $results;
   }
 
+  /**
+   * Tries to retrieve the associated entity type from the field configuration.
+   */
+  protected function getEntityType(FacetInterface $facet) {
+    $entity_type = FALSE;
+    $source = $facet->getFacetSource();
+
+    // Support multiple entity types when using Search API.
+    if ($source instanceof SearchApiDisplay) {
+      $data_definition = $source->getIndex()
+        ->getField($facet->getFieldIdentifier())->getDataDefinition();
+
+      $entity_type = $data_definition->getSetting('target_type');
+
+      if (empty($entity_type) && $data_definition instanceof FieldItemInterface) {
+        $entity_type = $data_definition->getFieldDefinition()->getTargetEntityTypeId();
+      }
+    }
+
+    // Default to nodes.
+    if (empty($entity_type)) {
+      $entity_type = 'node';
+    }
+
+    return $entity_type;
+  }
 }
