diff --git a/core/modules/serialization/src/Normalizer/EntityNormalizer.php b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
index 84baec9..bdfe0f9 100644
--- a/core/modules/serialization/src/Normalizer/EntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
@@ -38,13 +38,15 @@ class EntityNormalizer extends ComplexDataNormalizer implements DenormalizerInte
     $entity_type_id = $this->determineEntityTypeId($class, $context);
     $entity_type_definition = $this->getEntityTypeDefinition($entity_type_id);
 
-    // The bundle property will be required to denormalize a bundleable
-    // fieldable entity.
-    if ($entity_type_definition->hasKey('bundle') && $entity_type_definition->isSubclassOf(FieldableEntityInterface::class)) {
-      // Get an array containing the bundle only. This also remove the bundle
-      // key from the $data array.
-      $bundle_data = $this->extractBundleData($data, $entity_type_definition);
-
+    if ($entity_type_definition->isSubclassOf(FieldableEntityInterface::class)) {
+      $bundle_data = [];
+      if ($entity_type_definition->hasKey('bundle')) {
+        // The bundle property will be required to denormalize a bundleable
+        // fieldable entity.
+        // Get an array containing the bundle only. This also removes the bundle
+        // key from the $data array.
+        $bundle_data = $this->extractBundleData($data, $entity_type_definition);
+      }
       // Create the entity from bundle data only, then apply field values after.
       $entity = $this->entityManager->getStorage($entity_type_id)->create($bundle_data);
 
diff --git a/core/modules/serialization/src/Normalizer/FieldableEntityNormalizerTrait.php b/core/modules/serialization/src/Normalizer/FieldableEntityNormalizerTrait.php
index c8211a8..cb26421 100644
--- a/core/modules/serialization/src/Normalizer/FieldableEntityNormalizerTrait.php
+++ b/core/modules/serialization/src/Normalizer/FieldableEntityNormalizerTrait.php
@@ -72,8 +72,8 @@ trait FieldableEntityNormalizerTrait {
    *
    * @throws \Symfony\Component\Serializer\Exception\UnexpectedValueException
    *
-   * @return string
-   *   The valid bundle name.
+   * @return array
+   *   An array of entity creation data containing just the bundle key.
    */
   protected function extractBundleData(array &$data, EntityTypeInterface $entity_type_definition) {
     $bundle_key = $entity_type_definition->getKey('bundle');

