diff -u b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php --- b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php @@ -440,8 +440,7 @@ // translation and then on all other translations. $current_entity_langcode = $entity->language()->getId(); if (reset($langcodes) != $current_entity_langcode) { - $key = array_search($current_entity_langcode, $langcodes); - unset($langcodes[$key]); + $langcodes = array_diff($langcodes, [$current_entity_langcode]); array_unshift($langcodes, $current_entity_langcode); } foreach ($langcodes as $langcode) {