diff --git a/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php b/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
index e1eb60e..a94c497 100644
--- a/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
+++ b/core/lib/Drupal/Core/Config/Entity/DraggableListBuilder.php
@@ -30,7 +30,7 @@
    *
    * @var \Drupal\Core\Entity\EntityInterface[]
    */
-  protected $entities = array();
+  protected $entities = NULL;
 
   /**
    * Name of the entity's weight field or FALSE if no field is provided.
@@ -59,6 +59,16 @@ public function __construct(EntityTypeInterface $entity_type, EntityStorageInter
   }
 
   /**
+   * Retrieve cached entites used in the listing.
+   */
+  function getEntities(){
+    if (!isset($this->entities)) {
+      $this->entities = $this->load();
+    }
+    return $this->entities;
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function buildHeader() {
@@ -117,16 +127,16 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       ),
     );
 
-    $this->entities = $this->load();
+    $entities = $this->getEntities();
     $delta = 10;
     // Change the delta of the weight field if have more than 20 entities.
     if (!empty($this->weightKey)) {
-      $count = count($this->entities);
+      $count = count($entities);
       if ($count > 20) {
         $delta = ceil($count / 2);
       }
     }
-    foreach ($this->entities as $entity) {
+    foreach ($entities as $entity) {
       $row = $this->buildRow($entity);
       if (isset($row['label'])) {
         $row['label'] = array('#markup' => $row['label']);
diff --git a/core/modules/language/src/LanguageListBuilder.php b/core/modules/language/src/LanguageListBuilder.php
index 77deb01..a8ad38a 100644
--- a/core/modules/language/src/LanguageListBuilder.php
+++ b/core/modules/language/src/LanguageListBuilder.php
@@ -129,7 +129,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 99b7e34..eb223f1 100644
--- a/core/modules/locale/locale.module
+++ b/core/modules/locale/locale.module
@@ -625,7 +625,7 @@ function locale_js_settings_alter(&$settings, AttachedAssetsInterface $assets) {
  * 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'];
+  $languages = $form_state['build_info']['callback_object']->getEntities();
 
   $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 9095513..dd6950e 100644
--- a/core/modules/search/src/SearchPageListBuilder.php
+++ b/core/modules/search/src/SearchPageListBuilder.php
@@ -27,13 +27,6 @@ class SearchPageListBuilder extends DraggableListBuilder implements FormInterfac
   use ConfigFormBaseTrait;
 
   /**
-   * The entities being listed.
-   *
-   * @var \Drupal\search\SearchPageInterface[]
-   */
-  protected $entities = array();
-
-  /**
    * Stores the configuration factory.
    *
    * @var \Drupal\Core\Config\ConfigFactoryInterface
