diff --git a/app/code/Magento/Indexer/Model/Config/Data.php b/app/code/Magento/Indexer/Model/Config/Data.php
index 703c875d1ef4ef55f9572d24177ffa55f9b985ca..7fdd3b326d5afa7d19505e6e08e0ba6979f35116 100644
--- a/app/code/Magento/Indexer/Model/Config/Data.php
+++ b/app/code/Magento/Indexer/Model/Config/Data.php
@@ -6,6 +6,7 @@
 namespace Magento\Indexer\Model\Config;
 
 use Magento\Framework\Serialize\SerializerInterface;
+use Magento\Framework\Serialize\Serializer\Serialize;
 
 class Data extends \Magento\Framework\Config\Data
 {
@@ -21,20 +22,18 @@ class Data extends \Magento\Framework\Config\Data
      * @param \Magento\Framework\Config\CacheInterface $cache
      * @param \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $stateCollection
      * @param string $cacheId
-     * @param SerializerInterface|null $serializer
      */
     public function __construct(
         \Magento\Framework\Indexer\Config\Reader $reader,
         \Magento\Framework\Config\CacheInterface $cache,
         \Magento\Indexer\Model\ResourceModel\Indexer\State\Collection $stateCollection,
-        $cacheId = 'indexer_config',
-        SerializerInterface $serializer = null
+        $cacheId = 'indexer_config'
     ) {
         $this->stateCollection = $stateCollection;
 
         $isCacheExists = $cache->test($cacheId);
 
-        parent::__construct($reader, $cache, $cacheId, $serializer);
+        parent::__construct($reader, $cache, $cacheId);
 
         if (!$isCacheExists) {
             $this->deleteNonexistentStates();
@@ -55,4 +54,19 @@ class Data extends \Magento\Framework\Config\Data
             }
         }
     }
+
+    /**
+     * Get serializer
+     *
+     * @return SerializerInterface
+     * @deprecated
+     */
+    protected function getSerializer()
+    {
+        if ($this->serializer === null) {
+            $this->serializer = \Magento\Framework\App\ObjectManager::getInstance()
+                ->get(Serialize::class);
+        }
+        return $this->serializer;
+    }
 }
diff --git a/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php b/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php
index e16c21b8f112592e759cca7489a685ae59aa5dbe..fe66da6366e4df90a0d530a47fc68b94f8f129a1 100644
--- a/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Model/Config/DataTest.php
@@ -5,6 +5,9 @@
  */
 namespace Magento\Indexer\Test\Unit\Model\Config;
 
+use Magento\Framework\Serialize\SerializerInterface;
+use Magento\Framework\Serialize\Serializer\Serialize;
+
 class DataTest extends \PHPUnit_Framework_TestCase
 {
     /**
@@ -38,7 +41,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     protected $indexers = ['indexer1' => [], 'indexer3' => []];
 
     /**
-     * @var \Magento\Framework\Serialize\SerializerInterface|\PHPUnit_Framework_MockObject_MockObject
+     * @var SerializerInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     private $serializerMock;
 
@@ -61,7 +64,14 @@ class DataTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->serializerMock = $this->getMock(\Magento\Framework\Serialize\SerializerInterface::class);
+        $this->serializerMock = $this->getMock(SerializerInterface::class);
+    }
+
+    protected function tearDown()
+    {
+        $reflectionProperty = new \ReflectionProperty(\Magento\Framework\App\ObjectManager::class, '_instance');
+        $reflectionProperty->setAccessible(true);
+        $reflectionProperty->setValue(null);
     }
 
     public function testConstructorWithCache()
@@ -80,12 +90,13 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
         $this->stateCollection->expects($this->never())->method('getItems');
 
+        $this->mockObjectManager([Serialize::class => $this->serializerMock]);
+
         $this->model = new \Magento\Indexer\Model\Config\Data(
             $this->reader,
             $this->cache,
             $this->stateCollection,
-            $this->cacheId,
-            $this->serializerMock
+            $this->cacheId
         );
     }
 
@@ -120,12 +131,32 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
         $this->stateCollection->expects($this->once())->method('getItems')->will($this->returnValue($states));
 
+        $this->mockObjectManager([Serialize::class => $this->serializerMock]);
+
         $this->model = new \Magento\Indexer\Model\Config\Data(
             $this->reader,
             $this->cache,
             $this->stateCollection,
-            $this->cacheId,
-            $this->serializerMock
+            $this->cacheId
         );
     }
+
+    /**
+     * Mock application object manager to return configured dependencies
+     *
+     * @param array $dependencies
+     * @return void
+     */
+    private function mockObjectManager($dependencies)
+    {
+        $dependencyMap = [];
+        foreach ($dependencies as $type => $instance) {
+            $dependencyMap[] = [$type, $instance];
+        }
+        $objectManagerMock = $this->getMock(\Magento\Framework\ObjectManagerInterface::class);
+        $objectManagerMock->expects($this->any())
+            ->method('get')
+            ->will($this->returnValueMap($dependencyMap));
+        \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock);
+    }
 }