diff --git a/src/Search.php b/src/Search.php
index 4a4f68672e0edc01011396c75f9165ec719f45e1..c2edcca5ba9cc234d44f32a2c02e1114312d808c 100644
--- a/src/Search.php
+++ b/src/Search.php
@@ -155,7 +155,7 @@ class Search
     /**
      * @var OrderedSerializer
      */
-    private $serializer;
+    private static $serializer;
 
     /**
      * @var SearchEndpointInterface[]
@@ -167,12 +167,14 @@ class Search
      */
     public function __construct()
     {
-        $this->serializer = new OrderedSerializer(
-            [
-                new CustomReferencedNormalizer(),
-                new CustomNormalizer(),
-            ]
-        );
+        if (static::$serializer === null) {
+            static::$serializer = new OrderedSerializer(
+                [
+                    new CustomReferencedNormalizer(),
+                    new CustomNormalizer(),
+                ]
+            );
+        }
     }
 
     /**
@@ -698,7 +700,7 @@ class Search
      */
     public function toArray()
     {
-        $output = array_filter($this->serializer->normalize($this->endpoints));
+        $output = array_filter(static::$serializer->normalize($this->endpoints));
 
         $params = [
             'from' => 'from',