diff --git a/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php b/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php
index f9b27f80d9b..1f7137095eb 100644
--- a/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php
+++ b/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php
@@ -90,8 +90,7 @@ class DeductSourceItemQuantityOnRefundPlugin
         CreditmemoRepositoryInterface $subject,
         callable $proceed,
         CreditmemoInterface $entity
-    )
-    {
+    ) {
         $isNewCreditMemo = !(bool)$entity->getEntityId();
         $result = $proceed($entity);

@@ -103,6 +102,8 @@ class DeductSourceItemQuantityOnRefundPlugin
     }

     /**
+     * Compensate reservation for creditmemo item
+     *
      * @param CreditmemoInterface $creditMemo
      * @return void
      */
@@ -146,6 +147,8 @@ class DeductSourceItemQuantityOnRefundPlugin
     }

     /**
+     * Validate if the compensation should be processed
+     *
      * @param string $sku
      * @param CreditmemoItem $item
      * @return bool
@@ -165,6 +168,7 @@ class DeductSourceItemQuantityOnRefundPlugin

         return $this->isSourceItemManagementAllowedForProductType->execute($productType)
                 && $item->getQty() > 0
-                && !$item->getBackToStock();
+                && !$item->getBackToStock()
+                && !$orderItem->getIsVirtual();
     }
 }

