diff -Nuar a/vendor/magento/module-indexer/Model/ResourceModel/Indexer/State.php b/vendor/magento/module-indexer/Model/ResourceModel/Indexer/State.php
index d1e27be21ae..d0ab887b2e3 100644
--- a/vendor/magento/module-indexer/Model/ResourceModel/Indexer/State.php
+++ b/vendor/magento/module-indexer/Model/ResourceModel/Indexer/State.php
@@ -5,6 +5,11 @@
  */
 namespace Magento\Indexer\Model\ResourceModel\Indexer;
 
+use Magento\Framework\Indexer\StateInterface;
+
+/**
+ * Resource model for indexer state
+ */
 class State extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
 {
     /**
@@ -17,4 +22,22 @@ class State extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
         $this->_init('indexer_state', 'state_id');
         $this->addUniqueField(['field' => ['indexer_id'], 'title' => __('State for the same indexer')]);
     }
+
+    /**
+     * @inheritDoc
+     */
+    protected function prepareDataForUpdate($object)
+    {
+        $data = parent::prepareDataForUpdate($object);
+
+        if (isset($data['status']) && StateInterface::STATUS_VALID === $data['status']) {
+            $data['status'] = $this->getConnection()->getCheckSql(
+                $this->getConnection()->quoteInto('status = ?', StateInterface::STATUS_WORKING),
+                $this->getConnection()->quote($data['status']),
+                'status'
+            );
+        }
+
+        return $data;
+    }
 }
