diff --git a/src/Plugin/search_api/datasource/ContentEntity.php b/src/Plugin/search_api/datasource/ContentEntity.php
index 6130fc6c..bb74cc8c 100644
--- a/src/Plugin/search_api/datasource/ContentEntity.php
+++ b/src/Plugin/search_api/datasource/ContentEntity.php
@@ -734,15 +734,24 @@ class ContentEntity extends DatasourcePluginBase implements EntityDatasourceInte
     $enabled_languages[] = LanguageInterface::LANGCODE_NOT_SPECIFIED;
     $enabled_languages[] = LanguageInterface::LANGCODE_NOT_APPLICABLE;
 
+    $definition = $this->getEntityTypeManager()->getDefinition($this->getEntityTypeId());
+    $query = \Drupal::database()->select($definition->getDataTable(), 't');
+    $query->addField('t', $definition->getKey('id'), 'id');
+    $query->addField('t', $definition->getKey('bundle'), 'bundle');
+    $query->groupBy($definition->getKey('id') . ',' . $definition->getKey('bundle'));
+    $query->addExpression("GROUP_CONCAT(t." . $definition->getKey('langcode') . ")", "langcode");
+    $query->condition($definition->getKey('id'), $entity_ids, 'IN');
+    $result = $query->execute();
     /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
-    foreach ($this->getEntityStorage()->loadMultiple($entity_ids) as $entity_id => $entity) {
-      $translations = array_keys($entity->getTranslationLanguages());
+    foreach ($result->fetchAll() as $entity_id => $entity) {
+      $entity_id = $entity->id;
+      $translations = explode(',', $entity->langcode);
       $translations = array_intersect($translations, $enabled_languages);
       // If only languages were specified, keep only those translations matching
       // them. If bundles were also specified, keep all (enabled) translations
       // for those entities that match those bundles.
       if ($languages !== NULL
-          && (!$bundles || !in_array($entity->bundle(), $bundles))) {
+        && (!$bundles || !in_array($entity->bundle, $bundles))) {
         $translations = array_intersect($translations, $languages);
       }
       foreach ($translations as $langcode) {
