diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php index 289d2a9934..9c7f640fe1 100644 --- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -1248,9 +1248,12 @@ protected function loadFromDedicatedTables(array &$values, $load_from_revision) $values[$value_key][$field_name][$langcode] = []; } - // Ensure that records for non-translatable fields having invalid - // languages are skipped. - if ($langcode == LanguageInterface::LANGCODE_DEFAULT || $definitions[$bundle][$field_name]->isTranslatable()) { + $translatable = FALSE; + if (!empty($definitions[$bundle][$field_name])) { + $translatable = $definitions[$bundle][$field_name]->isTranslatable(); + } + + if ($langcode == LanguageInterface::LANGCODE_DEFAULT || $translatable) { if ($storage_definition->getCardinality() == FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED || count($values[$value_key][$field_name][$langcode]) < $storage_definition->getCardinality()) { $item = []; // For each column declared by the field, populate the item from the