diff --git a/core/lib/Drupal/Core/Field/EntityReferenceFieldItemList.php b/core/lib/Drupal/Core/Field/EntityReferenceFieldItemList.php
index bb065e248284960ab23e2d9f77c926f1e820f13c..0517f84885ed84e541e13ad6d0ef81e02e36fd45 100644
--- a/core/lib/Drupal/Core/Field/EntityReferenceFieldItemList.php
+++ b/core/lib/Drupal/Core/Field/EntityReferenceFieldItemList.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\Core\Field;
 
+use Drupal\Core\Entity\ContentEntityInterface;
+use Drupal\Core\Form\FormStateInterface;
+
 /**
  * Defines a item list class for entity reference fields.
  */
@@ -46,4 +49,69 @@ public function referencedEntities() {
     return $target_entities;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public static function processDefaultValue($default_value, ContentEntityInterface $entity, FieldDefinitionInterface $definition) {
+    $default_value = parent::processDefaultValue($default_value, $entity, $definition);
+
+    if ($default_value) {
+      // Convert UUIDs to numeric IDs.
+      $uuids = array();
+      foreach ($default_value as $delta => $properties) {
+        if (isset($properties['target_uuid'])) {
+          $uuids[$delta] = $properties['target_uuid'];
+        }
+      }
+      if ($uuids) {
+        $target_type = $definition->getSetting('target_type');
+        $entity_ids = \Drupal::entityQuery($target_type)
+          ->condition('uuid', $uuids, 'IN')
+          ->execute();
+        $entities = \Drupal::entityManager()
+          ->getStorage($target_type)
+          ->loadMultiple($entity_ids);
+
+        foreach ($entities as $id => $entity) {
+          $entity_uuids[$entity->uuid()] = $id;
+        }
+        foreach ($uuids as $delta => $uuid) {
+          if ($entity_uuids[$uuid]) {
+            $default_value[$delta]['target_id'] = $entity_uuids[$uuid];
+            unset($default_value[$delta]['target_uuid']);
+          }
+          else {
+            unset($default_value[$delta]);
+          }
+        }
+      }
+
+      // Ensure we return consecutive deltas, in case we removed unknown UUIDs.
+      $default_value = array_values($default_value);
+    }
+    return $default_value;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function defaultValuesFormSubmit(array $element, array &$form, FormStateInterface $form_state) {
+    $default_value = parent::defaultValuesFormSubmit($element, $form, $form_state);
+
+    // Convert numeric IDs to UUIDs to ensure config deployability.
+    $ids = array();
+    foreach ($default_value as $delta => $properties) {
+      $ids[] = $properties['target_id'];
+    }
+    $entities = \Drupal::entityManager()
+      ->getStorage($this->getSetting('target_type'))
+      ->loadMultiple($ids);
+
+    foreach ($default_value as $delta => $properties) {
+      unset($default_value[$delta]['target_id']);
+      $default_value[$delta]['target_uuid'] = $entities[$properties['target_id']]->uuid();
+    }
+    return $default_value;
+  }
+
 }
diff --git a/core/modules/entity_reference/entity_reference.module b/core/modules/entity_reference/entity_reference.module
index d1babc8daaf8764c2dba3389247a144a00cc6c06..6d4139b4f684c459842f6db6d765e15c8eb79828 100644
--- a/core/modules/entity_reference/entity_reference.module
+++ b/core/modules/entity_reference/entity_reference.module
@@ -45,7 +45,7 @@ function entity_reference_field_info_alter(&$info) {
   // Make the entity reference field configurable.
   $info['entity_reference']['no_ui'] = FALSE;
   $info['entity_reference']['class'] = '\Drupal\entity_reference\ConfigurableEntityReferenceItem';
-  $info['entity_reference']['list_class'] = '\Drupal\entity_reference\Plugin\Field\FieldType\ConfigurableEntityReferenceFieldItemList';
+  $info['entity_reference']['list_class'] = '\Drupal\Core\Field\EntityReferenceFieldItemList';
   $info['entity_reference']['default_widget'] = 'entity_reference_autocomplete';
   $info['entity_reference']['default_formatter'] = 'entity_reference_label';
   $info['entity_reference']['provider'] = 'entity_reference';
diff --git a/core/modules/entity_reference/src/Plugin/Field/FieldType/ConfigurableEntityReferenceFieldItemList.php b/core/modules/entity_reference/src/Plugin/Field/FieldType/ConfigurableEntityReferenceFieldItemList.php
deleted file mode 100644
index 25d854677ae06be5eceac9028c2c120f9963bd79..0000000000000000000000000000000000000000
--- a/core/modules/entity_reference/src/Plugin/Field/FieldType/ConfigurableEntityReferenceFieldItemList.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\entity_reference\Plugin\Field\FieldType\ConfigurableEntityReferenceFieldItemList.
- */
-
-namespace Drupal\entity_reference\Plugin\Field\FieldType;
-
-use Drupal\Core\Field\EntityReferenceFieldItemList;
-use Drupal\Core\Entity\ContentEntityInterface;
-use Drupal\Core\Field\FieldDefinitionInterface;
-use Drupal\Core\Form\FormStateInterface;
-
-/**
- * Represents a configurable entity_reference entity field.
- */
-class ConfigurableEntityReferenceFieldItemList extends EntityReferenceFieldItemList {
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function processDefaultValue($default_value, ContentEntityInterface $entity, FieldDefinitionInterface $definition) {
-    $default_value = parent::processDefaultValue($default_value, $entity, $definition);
-
-    if ($default_value) {
-      // Convert UUIDs to numeric IDs.
-      $uuids = array();
-      $fixed = array();
-      foreach ($default_value as $delta => $properties) {
-        if ($properties['target_uuid'] == 'anonymous' || $properties['target_uuid'] == 'administrator') {
-          $fixed[$delta] = ($properties['target_uuid'] == 'anonymous') ? '0' : '1';
-        }
-        else {
-          $uuids[$delta] = $properties['target_uuid'];
-        }
-      }
-      if ($uuids) {
-        $target_type = $definition->getSetting('target_type');
-        $entity_ids = \Drupal::entityQuery($target_type)
-          ->condition('uuid', $uuids, 'IN')
-          ->execute();
-        $entities = \Drupal::entityManager()
-          ->getStorage($target_type)
-          ->loadMultiple($entity_ids);
-
-        foreach ($entities as $id => $entity) {
-          $entity_ids[$entity->uuid()] = $id;
-        }
-        foreach ($uuids as $delta => $uuid) {
-          if ($entity_ids[$uuid]) {
-            $default_value[$delta]['target_id'] = $entity_ids[$uuid];
-            unset($default_value[$delta]['target_uuid']);
-          }
-          else {
-            unset($default_value[$delta]);
-          }
-        }
-      }
-
-      if ($fixed) {
-        foreach ($fixed as $delta => $id) {
-          $default_value[$delta]['target_id'] = $id;
-          unset($default_value[$delta]['target_uuid']);
-        }
-      }
-
-      // Ensure we return consecutive deltas, in case we removed unknown UUIDs.
-      $default_value = array_values($default_value);
-    }
-    return $default_value;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function defaultValuesFormSubmit(array $element, array &$form, FormStateInterface $form_state) {
-    $default_value = parent::defaultValuesFormSubmit($element, $form, $form_state);
-
-    // Convert numeric IDs to UUIDs to ensure config deployability.
-    $ids = array();
-    foreach ($default_value as $delta => $properties) {
-      $ids[] = $properties['target_id'];
-    }
-    $entities = \Drupal::entityManager()
-      ->getStorage($this->getSetting('target_type'))
-      ->loadMultiple($ids);
-
-    foreach ($default_value as $delta => $properties) {
-      $uuid = $entities[$properties['target_id']]->uuid();
-      // @todo Some entities do not have uuid. IE: Anonymous and admin user.
-      //   Remove this special case once http://drupal.org/node/2050843
-      //   has been fixed.
-      if (!$uuid) {
-        $uuid = ($properties['target_id'] == '0') ? 'anonymous' : 'administrator';
-      }
-      unset($default_value[$delta]['target_id']);
-      $default_value[$delta]['target_uuid'] = $uuid;
-    }
-    return $default_value;
-  }
-
-}
diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceFieldItemList.php b/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceFieldItemList.php
deleted file mode 100644
index 1dd79433e5c050e17bbe72d8eaac930489880b1b..0000000000000000000000000000000000000000
--- a/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceFieldItemList.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\taxonomy\Plugin\Field\FieldType\TaxonomyTermReferenceFieldItemList.
- */
-
-namespace Drupal\taxonomy\Plugin\Field\FieldType;
-
-use Drupal\Core\Field\EntityReferenceFieldItemList;
-use Drupal\Core\Entity\ContentEntityInterface;
-use Drupal\Core\Field\FieldDefinitionInterface;
-use Drupal\Core\Form\FormStateInterface;
-
-/**
- * Represents a configurable taxonomy_term_reference entity field item list.
- */
-class TaxonomyTermReferenceFieldItemList extends EntityReferenceFieldItemList {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function defaultValuesFormSubmit(array $element, array &$form, FormStateInterface $form_state) {
-    $default_value = parent::defaultValuesFormSubmit($element, $form, $form_state);
-
-    // Convert numeric IDs to UUIDs to ensure config deployability.
-    $ids = array();
-    foreach ($default_value as $delta => $properties) {
-      $ids[] = $properties['target_id'];
-    }
-    $entities = \Drupal::entityManager()
-      ->getStorage('taxonomy_term')
-      ->loadMultiple($ids);
-
-    foreach ($default_value as $delta => $properties) {
-      unset($default_value[$delta]['target_id']);
-      $default_value[$delta]['target_uuid'] = $entities[$properties['target_id']]->uuid();
-    }
-    return $default_value;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function processDefaultValue($default_value, ContentEntityInterface $entity, FieldDefinitionInterface $definition) {
-    $default_value = parent::processDefaultValue($default_value, $entity, $definition);
-
-    // Convert UUIDs to numeric IDs.
-    $uuids = array();
-    foreach ($default_value as $delta => $properties) {
-      $uuids[$delta] = $properties['target_uuid'];
-    }
-    if ($uuids) {
-      $entity_ids = \Drupal::entityQuery('taxonomy_term')
-        ->condition('uuid', $uuids, 'IN')
-        ->execute();
-      $entities = \Drupal::entityManager()
-        ->getStorage('taxonomy_term')
-        ->loadMultiple($entity_ids);
-
-      foreach ($entities as $id => $entity) {
-        $entity_ids[$entity->uuid()] = $id;
-      }
-      foreach ($uuids as $delta => $uuid) {
-        if (isset($entity_ids[$uuid])) {
-          $default_value[$delta]['target_id'] = $entity_ids[$uuid];
-          unset($default_value[$delta]['target_uuid']);
-        }
-        else {
-          unset($default_value[$delta]);
-        }
-      }
-    }
-
-    // Ensure we return consecutive deltas, in case we removed unknown UUIDs.
-    $default_value = array_values($default_value);
-
-    return $default_value;
-  }
-
-}
diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceItem.php b/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceItem.php
index 865a80225971f08b8d0094f50e26093ebde0e7f5..c58a6310cdec348f8ec198e1013133badb37ceac 100644
--- a/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceItem.php
+++ b/core/modules/taxonomy/src/Plugin/Field/FieldType/TaxonomyTermReferenceItem.php
@@ -23,7 +23,7 @@
  *   description = @Translation("This field stores a reference to a taxonomy term."),
  *   default_widget = "options_select",
  *   default_formatter = "taxonomy_term_reference_link",
- *   list_class = "\Drupal\taxonomy\Plugin\Field\FieldType\TaxonomyTermReferenceFieldItemList"
+ *   list_class = "\Drupal\Core\Field\EntityReferenceFieldItemList"
  * )
  */
 class TaxonomyTermReferenceItem extends EntityReferenceItem implements AllowedValuesInterface {