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 f9b27f80d9bb..24907cd17825 100644
--- a/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php
+++ b/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/DeductSourceItemQuantityOnRefundPlugin.php
@@ -17,6 +17,7 @@
 use Magento\Sales\Api\Data\CreditmemoItemInterface as CreditmemoItem;
 use Magento\Sales\Api\Data\OrderItemInterface;
 use Magento\Sales\Api\OrderRepositoryInterface;
+use Magento\Catalog\Model\ResourceModel\Product as ProductResourceModel;

 class DeductSourceItemQuantityOnRefundPlugin
 {
@@ -50,6 +51,11 @@ class DeductSourceItemQuantityOnRefundPlugin
      */
     private $orderRepository;

+    /**
+     * @var ProductResourceModel
+     */
+    private $productResource;
+
     /**
      * @param GetSkuFromOrderItemInterface $getSkuFromOrderItem
      * @param ItemsToRefundInterfaceFactory $itemsToRefundFactory
@@ -57,6 +63,7 @@ class DeductSourceItemQuantityOnRefundPlugin
      * @param GetProductTypesBySkusInterface $getProductTypesBySkus
      * @param DeductSourceItemQuantityOnRefund $deductSourceItemQuantityOnRefund
      * @param OrderRepositoryInterface $orderRepository
+     * @param ProductResourceModel $productResource
      */
     public function __construct(
         GetSkuFromOrderItemInterface $getSkuFromOrderItem,
@@ -64,7 +71,8 @@ public function __construct(
         IsSourceItemManagementAllowedForProductTypeInterface $isSourceItemManagementAllowedForProductType,
         GetProductTypesBySkusInterface $getProductTypesBySkus,
         DeductSourceItemQuantityOnRefund $deductSourceItemQuantityOnRefund,
-        OrderRepositoryInterface $orderRepository
+        OrderRepositoryInterface $orderRepository,
+        ProductResourceModel $productResource
     ) {
         $this->getSkuFromOrderItem = $getSkuFromOrderItem;
         $this->itemsToRefundFactory = $itemsToRefundFactory;
@@ -72,6 +80,7 @@ public function __construct(
         $this->getProductTypesBySkus = $getProductTypesBySkus;
         $this->deductSourceItemQuantityOnRefund = $deductSourceItemQuantityOnRefund;
         $this->orderRepository = $orderRepository;
+        $this->productResource = $productResource;
     }

     /**
@@ -110,11 +119,13 @@ private function compensateReservation(CreditmemoInterface $creditMemo): void
     {
         $order = $this->orderRepository->get($creditMemo->getOrderId());
         $itemsToRefund = $refundedOrderItemIds = [];
+        $productSkus = [];
         /** @var CreditmemoItem $item */
         foreach ($creditMemo->getItems() as $item) {
             /** @var OrderItemInterface $orderItem */
             $orderItem = $item->getOrderItem();
             $sku = $this->getSkuFromOrderItem->execute($orderItem);
+            $productSkus[] = $sku;

             if ($this->isValidItem($sku, $item)) {
                 $refundedOrderItemIds[] = $item->getOrderItemId();
@@ -127,13 +138,17 @@ private function compensateReservation(CreditmemoInterface $creditMemo): void
             }
         }

+        $existingProductIdsBySkus = $this->productResource->getProductsIdsBySkus($productSkus);
+
         $itemsToDeductFromSource = [];
         foreach ($itemsToRefund as $sku => $data) {
-            $itemsToDeductFromSource[] = $this->itemsToRefundFactory->create([
-                'sku' => $sku,
-                'qty' => $data['qty'],
-                'processedQty' => $data['processedQty']
-            ]);
+            if (array_key_exists($sku, $existingProductIdsBySkus)) {
+                $itemsToDeductFromSource[] = $this->itemsToRefundFactory->create([
+                    'sku' => $sku,
+                    'qty' => $data['qty'],
+                    'processedQty' => $data['processedQty']
+                ]);
+            }
         }

         if (!empty($itemsToDeductFromSource)) {
diff --git a/vendor/magento/module-inventory-sales-admin-ui/Model/GetIsManageStockForProduct.php b/vendor/magento/module-inventory-sales-admin-ui/Model/GetIsManageStockForProduct.php
index e73c2bde3856..d435e731d3b3 100644
--- a/vendor/magento/module-inventory-sales-admin-ui/Model/GetIsManageStockForProduct.php
+++ b/vendor/magento/module-inventory-sales-admin-ui/Model/GetIsManageStockForProduct.php
@@ -7,10 +7,10 @@

 namespace Magento\InventorySalesAdminUi\Model;

+use Magento\Catalog\Model\ProductRepository;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Exception\NoSuchEntityException;
 use Magento\InventoryConfigurationApi\Exception\SkuIsNotAssignedToStockException;
-use Magento\InventorySalesAdminUi\Model\ResourceModel\GetAssignedStockIdsBySku;
 use Magento\InventoryApi\Api\StockRepositoryInterface;
 use Magento\InventoryConfigurationApi\Api\GetStockItemConfigurationInterface;
 use Magento\InventorySalesApi\Api\Data\SalesChannelInterface;
@@ -35,19 +35,27 @@ class GetIsManageStockForProduct
      */
     private $getStockItemConfiguration;

+    /**
+     * @var ProductRepository
+     */
+    private $productRepository;
+
     /**
      * @param GetSalableQuantityDataBySku $getSalableQuantityDataBySku
      * @param StockRepositoryInterface $stockRepository
      * @param GetStockItemConfigurationInterface $getStockItemConfiguration
+     * @param ProductRepository $productRepository
      */
     public function __construct(
         GetSalableQuantityDataBySku $getSalableQuantityDataBySku,
         StockRepositoryInterface $stockRepository,
-        GetStockItemConfigurationInterface $getStockItemConfiguration
+        GetStockItemConfigurationInterface $getStockItemConfiguration,
+        ProductRepository $productRepository
     ) {
         $this->getSalableQuantityDataBySku = $getSalableQuantityDataBySku;
         $this->stockRepository = $stockRepository;
         $this->getStockItemConfiguration = $getStockItemConfiguration;
+        $this->productRepository = $productRepository;
     }

     /**
@@ -62,6 +70,12 @@ public function __construct(
      */
     public function execute(string $sku, string $websiteCode): ?bool
     {
+        try {
+            $this->productRepository->get($sku);
+        } catch (NoSuchEntityException $e) {
+            return false;
+        }
+
         $isManageStock = null;
         $stockIds = $this->getProductStockIds($sku);
         foreach ($stockIds as $stockId) {
@@ -92,7 +106,7 @@ public function execute(string $sku, string $websiteCode): ?bool
     private function getProductStockIds(string $sku): array
     {
         $stockIds = [];
-        $stocksInfo =$this->getSalableQuantityDataBySku->execute($sku);
+        $stocksInfo = $this->getSalableQuantityDataBySku->execute($sku);
         foreach ($stocksInfo as $stockInfo) {
             $stockIds[] = (int)$stockInfo['stock_id'];
         }
