diff --git a/core/modules/serialization/serialization.services.yml b/core/modules/serialization/serialization.services.yml
index bc491e6..73b8ab4 100644
--- a/core/modules/serialization/serialization.services.yml
+++ b/core/modules/serialization/serialization.services.yml
@@ -12,6 +12,10 @@ services:
     tags:
       - { name: normalizer }
     arguments: ['@entity.manager']
+  serializer.normalizer.entity_reference_item:
+    class: Drupal\serialization\Normalizer\EntityReferenceItemNormalizer
+    tags:
+      - { name: normalizer }
   serializer.normalizer.complex_data:
     class: Drupal\serialization\Normalizer\ComplexDataNormalizer
     tags:
diff --git a/core/modules/serialization/src/Normalizer/EntityReferenceItemNormalizer.php b/core/modules/serialization/src/Normalizer/EntityReferenceItemNormalizer.php
new file mode 100644
index 0000000..d3edf5e
--- /dev/null
+++ b/core/modules/serialization/src/Normalizer/EntityReferenceItemNormalizer.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\serialization\Normalizer\EntityReferenceItemNormalizer.
+ */
+
+namespace Drupal\serialization\Normalizer;
+
+/**
+ * Converts a Drupal entity reference item object to an array.
+ */
+class EntityReferenceItemNormalizer extends ComplexDataNormalizer {
+
+  /**
+   * The interface or class that this Normalizer supports.
+   *
+   * @var string
+   */
+  protected $supportedInterfaceOrClass = 'Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function normalize($object, $format = NULL, array $context = array()) {
+    // Convert the object to an array as for any field item (complex data).
+    // For entity reference items, that includes the 'target_id' property.
+    $attributes = parent::normalize($object, $format, $context);
+
+    // Additionally, add the target entity's uuid.
+    if ($target_entity = $object->entity) {
+      $attributes['target_uuid'] = $target_entity->uuid();
+    }
+
+    return $attributes;
+  }
+
+}
diff --git a/core/modules/serialization/src/Tests/EntitySerializationTest.php b/core/modules/serialization/src/Tests/EntitySerializationTest.php
index 6266454..0d1ce49 100644
--- a/core/modules/serialization/src/Tests/EntitySerializationTest.php
+++ b/core/modules/serialization/src/Tests/EntitySerializationTest.php
@@ -38,6 +38,13 @@ class EntitySerializationTest extends NormalizerTestBase {
   protected $serializer;
 
   /**
+   * The user used in this test.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $user;
+
+  /**
    * The class name of the test class.
    *
    * @var string
@@ -55,10 +62,17 @@ public static function getInfo() {
   protected function setUp() {
     parent::setUp();
 
+    $this->installSchema('system', array('sequences'));
+
+    $this->user = $this->container->get('entity.manager')->getStorage('user')->create(array(
+      'name' => $this->randomName(),
+    ));
+    $this->user->save();
+
     // Create a test entity to serialize.
     $this->values = array(
       'name' => $this->randomName(),
-      'user_id' => \Drupal::currentUser()->id(),
+      'user_id' => $this->user->id(),
       'field_test_text' => array(
         'value' => $this->randomName(),
         'format' => 'full_html',
@@ -93,7 +107,10 @@ public function testNormalize() {
         array('value' => 'entity_test_mulrev'),
       ),
       'user_id' => array(
-        array('target_id' => $this->values['user_id']),
+        array(
+          'target_id' => $this->user->id(),
+          'target_uuid' => $this->user->uuid(),
+        ),
       ),
       'revision_id' => array(
         array('value' => 1),
@@ -142,7 +159,7 @@ public function testSerialize() {
       'langcode' => '<langcode><value>' . LanguageInterface::LANGCODE_NOT_SPECIFIED . '</value></langcode>',
       'name' => '<name><value>' . $this->values['name'] . '</value></name>',
       'type' => '<type><value>entity_test_mulrev</value></type>',
-      'user_id' => '<user_id><target_id>' . $this->values['user_id'] . '</target_id></user_id>',
+      'user_id' => '<user_id><target_id>' . $this->user->id() . '</target_id><target_uuid>' . $this->user->uuid() . '</target_uuid></user_id>',
       'revision_id' => '<revision_id><value>' . $this->entity->getRevisionId() . '</value></revision_id>',
       'field_test_text' => '<field_test_text><value>' . $this->values['field_test_text']['value'] . '</value><format>' . $this->values['field_test_text']['format'] . '</format></field_test_text>',
     );
