diff --git a/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php b/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php
index 483a147c455..d3eeab45557 100644
--- a/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php
+++ b/vendor/magento/module-multicoupon/Plugin/SalesOrder/UpdateCouponUsagesPlugin.php
@@ -19,17 +19,20 @@ namespace Magento\Multicoupon\Plugin\SalesOrder;
 use Magento\Sales\Api\Data\OrderInterface;
 use Magento\Sales\Model\Order;
 use Magento\SalesRule\Model\Coupon\UpdateCouponUsages;
-use Magento\SalesRule\Model\Coupon\Usage\Processor as CouponUsageProcessor;
 use Magento\SalesRule\Model\Coupon\Usage\UpdateInfoFactory;
+use Magento\SalesRule\Model\Service\CouponUsagePublisher;
+use Magento\SalesRule\Model\Coupon\Usage\Processor as CouponUsageProcessor;
 
 class UpdateCouponUsagesPlugin
 {
     /**
      * @param CouponUsageProcessor $couponUsageProcessor
+     * @param CouponUsagePublisher $couponUsagePublisher
      * @param UpdateInfoFactory $updateInfoFactory
      */
     public function __construct(
         private readonly CouponUsageProcessor $couponUsageProcessor,
+        private readonly CouponUsagePublisher $couponUsagePublisher,
         private readonly UpdateInfoFactory $updateInfoFactory
     ) {
     }
@@ -62,21 +65,23 @@ class UpdateCouponUsagesPlugin
             $isCouponAlreadyApplied = true;
         }
 
-        $this->couponUsageProcessor->process(
-            $this->updateInfoFactory->create(
-                [
-                    'data' => [
-                        'applied_rule_ids' => $this->getAppliedRuleIds($order),
-                        'coupon_code' => (string)$order->getCouponCode(),
-                        'customer_id' => (int)$order->getCustomerId(),
-                        'is_increment' => $increment,
-                        'is_coupon_already_applied' => $isCouponAlreadyApplied,
-                        'coupon_codes' => $order->getExtensionAttributes()->getCouponCodes() ?? [],
-                    ]
+        $updateInfo = $this->updateInfoFactory->create(
+            [
+                'data' => [
+                    'applied_rule_ids' => $this->getAppliedRuleIds($order),
+                    'coupon_code' => (string)$order->getCouponCode(),
+                    'customer_id' => (int)$order->getCustomerId(),
+                    'is_increment' => $increment,
+                    'is_coupon_already_applied' => $isCouponAlreadyApplied,
+                    'coupon_codes' => $order->getExtensionAttributes()->getCouponCodes() ?? [],
                 ]
-            )
+            ]
         );
 
+        $this->couponUsageProcessor->updateCustomerRulesUsages($updateInfo);
+        $this->couponUsageProcessor->updateCouponUsages($updateInfo);
+        $this->couponUsagePublisher->publish($updateInfo);
+
         return $order;
     }
 
diff --git a/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php b/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php
index 8a1bb5bab97..bef777986db 100644
--- a/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php
+++ b/vendor/magento/module-multicoupon/Plugin/SalesRule/UpdateCouponUsagesPlugin.php
@@ -70,7 +70,8 @@ class UpdateCouponUsagesPlugin
             ]
         );
 
-        $this->couponUsagePublisher->publish($updateInfo);
         $this->processor->updateCustomerRulesUsages($updateInfo);
+        $this->processor->updateCouponUsages($updateInfo);
+        $this->couponUsagePublisher->publish($updateInfo);
     }
 }
