 jsonapi.services.yml                                   |  4 ----
 src/JsonapiServiceProvider.php                         |  8 ++++++++
 src/Normalizer/ConfigEntityNormalizer.php              | 18 +++++++-----------
 src/Normalizer/ScalarNormalizer.php                    |  3 ++-
 .../src/Unit/Normalizer/ConfigEntityNormalizerTest.php |  2 ++
 5 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/jsonapi.services.yml b/jsonapi.services.yml
index 2fda8c8..e66e5b5 100644
--- a/jsonapi.services.yml
+++ b/jsonapi.services.yml
@@ -35,10 +35,6 @@ services:
     arguments: ['@current_user']
     tags:
       - { name: normalizer, priority: 2 }
-  serializer.normalizer.scalar.jsonapi:
-    class: Drupal\jsonapi\Normalizer\ScalarNormalizer
-    tags:
-      - { name: normalizer, priority: 5 }
   serializer.normalizer.entity_reference_item.jsonapi:
     class: Drupal\jsonapi\Normalizer\RelationshipItemNormalizer
     arguments: ['@jsonapi.resource_type.repository', '@serializer.normalizer.jsonapi_document_toplevel.jsonapi',]
diff --git a/src/JsonapiServiceProvider.php b/src/JsonapiServiceProvider.php
index f801059..ec99547 100644
--- a/src/JsonapiServiceProvider.php
+++ b/src/JsonapiServiceProvider.php
@@ -6,6 +6,7 @@ use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\DependencyInjection\ServiceModifierInterface;
 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
 use Drupal\jsonapi\DependencyInjection\Compiler\RemoveJsonapiFormatCompilerPass;
+use Drupal\jsonapi\Normalizer\ScalarNormalizer;
 use Symfony\Component\DependencyInjection\Compiler\PassConfig;
 
 /**
@@ -29,6 +30,13 @@ class JsonapiServiceProvider implements ServiceModifierInterface, ServiceProvide
           ['application/vnd.api+json'],
         ]);
     }
+
+    // BC for Drupal 8.2.
+    // @see \Drupal\jsonapi\Normalizer\ScalarNormalizer
+    if (!$container->has('serializer.normalizer.primitive_data')) {
+      $container->register('serializer.normalizer.scalar.jsonapi', ScalarNormalizer::class)
+        ->addTag('normalizer', ['priority' => 5]);
+    }
   }
 
   /**
diff --git a/src/Normalizer/ConfigEntityNormalizer.php b/src/Normalizer/ConfigEntityNormalizer.php
index 5d97676..7257d6f 100644
--- a/src/Normalizer/ConfigEntityNormalizer.php
+++ b/src/Normalizer/ConfigEntityNormalizer.php
@@ -44,18 +44,14 @@ class ConfigEntityNormalizer extends EntityNormalizer {
    * {@inheritdoc}
    */
   protected function serializeField($field, array $context, $format) {
-    $output = $this->serializer->normalize($field, $format, $context);
-    if (is_array($output)) {
-      $output = new FieldNormalizerValue(
-        [new FieldItemNormalizerValue($output)],
-        1
-      );
-      $output->setPropertyType('attributes');
-      return $output;
+    if (!is_array($field)) {
+      $field = [$field];
     }
-    $field instanceof Relationship ?
-      $output->setPropertyType('relationships') :
-      $output->setPropertyType('attributes');
+    $output = new FieldNormalizerValue(
+      [new FieldItemNormalizerValue($field)],
+      1
+    );
+    $output->setPropertyType('attributes');
     return $output;
   }
 
diff --git a/src/Normalizer/ScalarNormalizer.php b/src/Normalizer/ScalarNormalizer.php
index e34750a..dd87afe 100644
--- a/src/Normalizer/ScalarNormalizer.php
+++ b/src/Normalizer/ScalarNormalizer.php
@@ -7,7 +7,8 @@ use Drupal\jsonapi\Normalizer\Value\FieldNormalizerValue;
 use Symfony\Component\Serializer\Exception\UnexpectedValueException;
 
 /**
- * The normalizer used for scalar inputs.
+ * @deprecated in favor of \Drupal\serialization\Normalizer\PrimitiveDataNormalizer, kept only for Drupal 8.2 sites using JSON API.
+ * @internal
  */
 class ScalarNormalizer extends NormalizerBase {
 
diff --git a/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php b/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php
index 732dca0..23a088b 100644
--- a/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php
+++ b/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php
@@ -42,6 +42,8 @@ class ConfigEntityNormalizerTest extends UnitTestCase {
       $this->prophesize(EntityTypeManagerInterface::class)->reveal()
     );
 
+    // BC for Drupal 8.2.
+    // @see \Drupal\jsonapi\Normalizer\ScalarNormalizer
     $normalizers = [new ScalarNormalizer()];
     $serializer = new Serializer($normalizers, []);
     $this->normalizer->setSerializer($serializer);
