diff --git a/vendor/magento/module-catalog-staging/Model/Product/Operation/Update/TemporaryUpdateProcessor.php b/vendor/magento/module-catalog-staging/Model/Product/Operation/Update/TemporaryUpdateProcessor.php
index 222483492e2..85f8a7d4986 100644
--- a/vendor/magento/module-catalog-staging/Model/Product/Operation/Update/TemporaryUpdateProcessor.php
+++ b/vendor/magento/module-catalog-staging/Model/Product/Operation/Update/TemporaryUpdateProcessor.php
@@ -6,6 +6,7 @@
 namespace Magento\CatalogStaging\Model\Product\Operation\Update;

 use Magento\Catalog\Api\ProductLinkRepositoryInterface;
+use Magento\Catalog\Model\Product;
 use Magento\Framework\EntityManager\EntityManager;
 use Magento\Staging\Model\VersionManager;
 use Magento\Staging\Model\ResourceModel\Db\ReadEntityVersion;
@@ -100,19 +101,21 @@ class TemporaryUpdateProcessor implements \Magento\Staging\Model\Operation\Updat
         $nextVersionId = $this->entityVersion->getNextVersionId(ProductInterface::class, $rollbackId, $entity->getId());
         $this->versionManager->setCurrentVersionId($previousVersionId);

-        /** @var \Magento\Catalog\Model\Product $previousEntity */
+        /** @var Product $previousEntity */
+        /** @var Product $entity */
         $previousEntity = clone $entity;
         $previousEntity->unsetData();
         $previousEntity->setId($entity->getId());
+        $previousEntity->setData('_edit_mode', $entity->getData('_edit_mode'));
         $this->loadEntity($previousEntity);
-
         $this->versionManager->setCurrentVersionId($rollbackId);

         $this->buildEntity($previousEntity);
         $arguments = [
             'created_in' => $rollbackId,
             'updated_in' => $nextVersionId,
-            'origin_in' => $previousVersionId
+            'origin_in' => $previousVersionId,
+            'is_rollback' => true
         ];

         $this->createEntityVersion->execute($previousEntity, $arguments);
diff --git a/vendor/magento/module-catalog-staging/Model/ResourceModel/CatalogCreateHandler.php b/vendor/magento/module-catalog-staging/Model/ResourceModel/CatalogCreateHandler.php
index bb6028e5487..bae3ce63dd8 100644
--- a/vendor/magento/module-catalog-staging/Model/ResourceModel/CatalogCreateHandler.php
+++ b/vendor/magento/module-catalog-staging/Model/ResourceModel/CatalogCreateHandler.php
@@ -86,7 +86,11 @@ class CatalogCreateHandler implements AttributeInterface
                 $originId,
                 $entityData['created_in']
             );
-            return $this->updateHandler->execute($entityType, $entityData, $arguments);
+            //updating attributes of entity if this entity is not for rollback
+            if (empty($arguments['is_rollback'])) {
+                return $this->updateHandler->execute($entityType, $entityData, $arguments);
+            }
+            return $entityData;
         } else {
             return $this->createHandler->execute($entityType, $entityData, $arguments);
         }
