diff --git a/vendor/magento/module-quote/Model/Cart/AddProductsToCart.php b/vendor/magento/module-quote/Model/Cart/AddProductsToCart.php
index 9be1e9d32e3..d2c361356dc 100644
--- a/vendor/magento/module-quote/Model/Cart/AddProductsToCart.php
+++ b/vendor/magento/module-quote/Model/Cart/AddProductsToCart.php
@@ -7,6 +7,7 @@ declare(strict_types=1);
 
 namespace Magento\Quote\Model\Cart;
 
+use Magento\Catalog\Api\Data\ProductInterface;
 use Magento\Framework\Exception\NoSuchEntityException;
 use Magento\Quote\Api\CartRepositoryInterface;
 use Magento\Quote\Model\Cart\BuyRequest\BuyRequestBuilder;
@@ -18,6 +19,8 @@ use Magento\Framework\Message\MessageInterface;
 /**
  * Unified approach to add products to the Shopping Cart.
  * Client code must validate, that customer is eligible to call service with provided {cartId} and {cartItems}
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
 class AddProductsToCart
 {
@@ -165,7 +168,7 @@ class AddProductsToCart
                 $cartItemPosition
             );
         } else {
-            $product = $this->productReader->getProductBySku($sku);
+            $product = $this->getProductOptions($this->productReader->getProductBySku($sku));
             if (!$product || !$product->isSaleable() || !$product->isAvailable()) {
                 $errors[] = $this->error->create(
                     __('Could not find a product with SKU "%sku"', ['sku' => $sku])->render(),
@@ -206,4 +209,16 @@ class AddProductsToCart
 
         return $output;
     }
+
+    /**
+     * Set options from product options collection
+     *
+     * @param ProductInterface|null $productItem
+     * @return ProductInterface|null
+     */
+    private function getProductOptions(ProductInterface|null $productItem): ?ProductInterface
+    {
+        $productItem?->setOptions($productItem->getProductOptionsCollection()->getItems());
+        return $productItem;
+    }
 }
