diff --git a/vendor/magento/module-cms-staging/Model/BlockApplier.php b/vendor/magento/module-cms-staging/Model/BlockApplier.php
new file mode 100644
index 00000000000..3abe3898f13
--- /dev/null
+++ b/vendor/magento/module-cms-staging/Model/BlockApplier.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\CmsStaging\Model;
+
+use Magento\Cms\Model\Block;
+use Magento\Cms\Model\Page;
+use Magento\Cms\Model\ResourceModel\Page\Query\PageIdsList;
+use Magento\Framework\App\ObjectManager;
+use Magento\Framework\Indexer\CacheContext;
+use Magento\Staging\Model\StagingApplierInterface;
+
+/**
+ * Staging applier for cms blocks
+ */
+class BlockApplier implements StagingApplierInterface
+{
+    /**
+     * @var CacheContext
+     */
+    private $cacheContext;
+
+    /**
+     * @var PageIdsList
+     */
+    private $pageIdsList;
+
+    /**
+     * @param CacheContext $cacheContext
+     * @param PageIdsList|null $pageIdsList
+     */
+    public function __construct(
+        CacheContext $cacheContext,
+        PageIdsList $pageIdsList = null
+    ) {
+        $this->cacheContext = $cacheContext;
+        $this->pageIdsList = $pageIdsList ?? ObjectManager::getInstance()->get(PageIdsList::class);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function execute(array $entityIds)
+    {
+        if (!empty($entityIds)) {
+            $this->cacheContext->registerEntities(Block::CACHE_TAG, $entityIds);
+            $entityIds = $this->pageIdsList->execute($entityIds);
+            $this->cacheContext->registerEntities(Page::CACHE_TAG, $entityIds);
+        }
+    }
+}
diff --git a/vendor/magento/module-cms-staging/etc/di.xml b/vendor/magento/module-cms-staging/etc/di.xml
index 408920915d8..f814ad02806 100644
--- a/vendor/magento/module-cms-staging/etc/di.xml
+++ b/vendor/magento/module-cms-staging/etc/di.xml
@@ -44,6 +44,7 @@
         <arguments>
             <argument name="appliers" xsi:type="array">
                 <item name="Magento\Cms\Api\Data\PageInterface" xsi:type="object">Magento\CmsStaging\Model\PageApplier</item>
+                <item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="object">Magento\CmsStaging\Model\BlockApplier</item>
             </argument>
         </arguments>
     </type>
