diff --git a/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php b/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
index 65f167c..a0cfa74 100644
--- a/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
+++ b/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
@@ -26,13 +26,6 @@
   protected $entitiesKey = 'entities';
 
   /**
-   * The entities being listed.
-   *
-   * @var \Drupal\Core\Entity\EntityInterface[]
-   */
-  protected $entities = array();
-
-  /**
    * Name of the entity's weight field or FALSE if no field is provided.
    *
    * @var string|bool
@@ -117,8 +110,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       ),
     );
 
-    $this->entities = $this->load();
-    foreach ($this->entities as $entity) {
+    foreach ($this->load() as $entity) {
       $row = $this->buildRow($entity);
       if (isset($row['label'])) {
         $row['label'] = array('#markup' => $row['label']);
@@ -147,11 +139,13 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
    * {@inheritdoc}
    */
   public function submitForm(array &$form, FormStateInterface $form_state) {
-    foreach ($form_state->getValue($this->entitiesKey) as $id => $value) {
-      if (isset($this->entities[$id]) && $this->entities[$id]->get($this->weightKey) != $value['weight']) {
-        // Save entity only when its weight was changed.
-        $this->entities[$id]->set($this->weightKey, $value['weight']);
-        $this->entities[$id]->save();
+    $entities = $form_state->getValue($this->entitiesKey);
+    /** @var \Drupal\Core\Config\Entity\ConfigEntityInterface $entity */
+    foreach ($this->storage->loadMultiple(array_keys($entities)) as $entity) {
+      if ($entity->get($this->weightKey) != $entities[$entity->id()]['weight']) {
+        $entity
+          ->set($this->weightKey, $entities[$entity->id()]['weight'])
+          ->save();
       }
     }
   }
diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php
index c8dbe13..578e600 100644
--- a/core/modules/language/src/LanguageListBuilder.php
+++ b/core/modules/language/src/LanguageListBuilder.php
@@ -78,7 +78,6 @@ public function buildRow(EntityInterface $entity) {
    */
   public function buildForm(array $form, FormStateInterface $form_state) {
     $form = parent::buildForm($form, $form_state);
-    $form[$this->entitiesKey]['#languages'] = $this->entities;
     $form['actions']['submit']['#value'] = t('Save configuration');
     return $form;
   }
diff --git a/core/modules/locale/locale.module b/core/modules/locale/locale.module
index 3122f59..71efdc9 100644
--- a/core/modules/locale/locale.module
+++ b/core/modules/locale/locale.module
@@ -16,6 +16,7 @@
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Language\Language;
+use Drupal\Core\Render\Element;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\Core\StringTranslation\TranslationWrapper;
 use Drupal\Core\Language\LanguageInterface;
@@ -654,7 +655,9 @@ function locale_library_alter(array &$library, $name) {
  * Implements hook_form_FORM_ID_alter() for language_admin_overview_form().
  */
 function locale_form_language_admin_overview_form_alter(&$form, FormStateInterface $form_state) {
-  $languages = $form['languages']['#languages'];
+  // Load only listed languages.
+  $languages = Element::children($form['languages']);
+  $languages = $form_state->getFormObject()->getStorage()->loadMultiple($languages);
 
   $total_strings = \Drupal::service('locale.storage')->countStrings();
   $stats = array_fill_keys(array_keys($languages), array());
diff --git a/core/modules/search/src/SearchPageListBuilder.php b/core/modules/search/src/SearchPageListBuilder.php
index 5e6f1b5..0a6ba3c 100644
--- a/core/modules/search/src/SearchPageListBuilder.php
+++ b/core/modules/search/src/SearchPageListBuilder.php
@@ -24,13 +24,6 @@
 class SearchPageListBuilder extends DraggableListBuilder implements FormInterface {
 
   /**
-   * The entities being listed.
-   *
-   * @var \Drupal\search\SearchPageInterface[]
-   */
-  protected $entities = array();
-
-  /**
    * Stores the configuration factory.
    *
    * @var \Drupal\Core\Config\ConfigFactoryInterface
@@ -161,7 +154,8 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     // Collect some stats.
     $remaining = 0;
     $total = 0;
-    foreach ($this->entities as $entity) {
+    /** @var \Drupal\search\SearchPageInterface $entity */
+    foreach ($this->load() as $entity) {
       if ($entity->isIndexable() && $status = $entity->getPlugin()->indexStatus()) {
         $remaining += $status['remaining'];
         $total += $status['total'];
