diff --git a/src/Normalizer/EntityReferenceRevisionItemNormalizer.php b/src/Normalizer/EntityReferenceRevisionItemNormalizer.php
index 5c63cf2..0a8ef30 100644
--- a/src/Normalizer/EntityReferenceRevisionItemNormalizer.php
+++ b/src/Normalizer/EntityReferenceRevisionItemNormalizer.php
@@ -33,10 +33,18 @@ class EntityReferenceRevisionItemNormalizer extends EntityReferenceItemNormalize
    */
   public function normalize($field_item, $format = NULL, array $context = array()) {
     $data = parent::normalize($field_item, $format, $context);
-    $field_name = $field_item->getParent()->getName();
     $entity = $field_item->getEntity();
-    $field_uri = $this->linkManager->getRelationUri($entity->getEntityTypeId(), $entity->bundle(), $field_name, $context);
-    $data['_embedded'][$field_uri][0]['target_revision_id'] = $field_item->target_revision_id;
+    if ($entity->getEntityType()->get('entity_revision_parent_id_field')) {
+      $embedded_context = $context;
+      $embedded_context['included_fields'] = NULL;
+      $embedded = $this->serializer->normalize($entity, $format, $embedded_context);
+      $data[$field_item->getParent()->getName()] = [$embedded];
+    }
+    else {
+      $field_name = $field_item->getParent()->getName();
+      $field_uri = $this->linkManager->getRelationUri($entity->getEntityTypeId(), $entity->bundle(), $field_name, $context);
+      $data['_embedded'][$field_uri][0]['target_revision_id'] = $field_item->target_revision_id;
+    }
     return $data;
   }
 
diff --git a/src/Tests/EntityReferenceRevisionsNormalizerTest.php b/src/Tests/EntityReferenceRevisionsNormalizerTest.php
index 3faf8fb..e102b68 100644
--- a/src/Tests/EntityReferenceRevisionsNormalizerTest.php
+++ b/src/Tests/EntityReferenceRevisionsNormalizerTest.php
@@ -102,4 +102,41 @@ class EntityReferenceRevisionsNormalizerTest extends WebTestBase {
     $this->assertEqual($err_node->field_entity_reference_revisions->target_revision_id, $new_err_node->field_entity_reference_revisions->target_revision_id);
   }
 
+  /**
+   * Tests the embedded paragraph when normalizing.
+   */
+  public function testEmbedParagraph() {
+    \Drupal::service('module_installer')->install(['paragraphs_demo']);
+
+    $admin_user = $this->drupalCreateUser(array(
+      'administer site configuration',
+      'administer nodes',
+      'administer content types',
+      'administer node fields',
+      'administer node display',
+      'administer paragraph display',
+      'create paragraphed_content_demo content',
+      'edit any paragraphed_content_demo content',
+      'administer node form display',
+    ));
+    $this->drupalLogin($admin_user);
+
+    // Create a new demo node.
+    $this->drupalGet('node/add/paragraphed_content_demo');
+    $this->drupalPostAjaxForm(NULL, [], 'field_paragraphs_demo_text_add_more');
+    $title = 'Example title';
+    $edit = [
+      'title[0][value]' => $title,
+      'field_paragraphs_demo[0][subform][field_text_demo][0][value]' => 'Example text for the paragraph.'
+    ];
+    $this->drupalPostForm(NULL, $edit, 'Save and publish');
+
+    $this->assertText($title);
+    $node = $this->drupalGetNodeByTitle($title);
+
+    $serializer = $this->container->get('serializer');
+    $normalized = $serializer->normalize($node, 'hal_json');
+    $this->assertEqual($node->field_paragraphs_demo->target_revision_id, $normalized['field_paragraphs_demo']['target_revision_id']);
+  }
+
 }
