diff --git a/vendor/magento/module-quote-graph-ql/Observer/CheckAndUpdateQtyObserver.php b/vendor/magento/module-quote-graph-ql/Observer/CheckAndUpdateQtyObserver.php
new file mode 100644
index 0000000000000..4c2cbe770ae6e
--- /dev/null
+++ b/vendor/magento/module-quote-graph-ql/Observer/CheckAndUpdateQtyObserver.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Copyright 2025 Adobe
+ * All Rights Reserved.
+ */
+declare(strict_types=1);
+
+namespace Magento\QuoteGraphQl\Observer;
+
+use Magento\Framework\Event\Observer;
+use Magento\Framework\Event\ObserverInterface;
+
+class CheckAndUpdateQtyObserver implements ObserverInterface
+{
+    /**
+     * Check and update the item qty in case of error
+     *
+     * @param Observer $observer
+     * @return void
+     */
+    public function execute(Observer $observer):void
+    {
+        $item = $observer->getEvent()->getItem();
+
+        if ($item && $item->getHasError()) {
+            $item->setUseOldQty(true);
+            $item->getQuote()->setHasError(true);
+        }
+    }
+}
diff --git a/vendor/magento/module-quote-graph-ql/etc/graphql/events.xml b/vendor/magento/module-quote-graph-ql/etc/graphql/events.xml
index 207d3077a681b..c79c3dcde77d5 100644
--- a/vendor/magento/module-quote-graph-ql/etc/graphql/events.xml
+++ b/vendor/magento/module-quote-graph-ql/etc/graphql/events.xml
@@ -10,4 +10,7 @@
         <observer name="sendEmail" instance="Magento\Quote\Observer\SubmitObserver"/>
         <observer name="sendInvoiceEmail" instance="Magento\Quote\Observer\SendInvoiceEmailObserver"/>
     </event>
+    <event name="sales_quote_item_qty_set_after">
+        <observer name="checkAndUpdateQty" instance="Magento\QuoteGraphQl\Observer\CheckAndUpdateQtyObserver"/>
+    </event>
 </config>
