diff --git a/vendor/magento/module-sales/Model/Order.php b/vendor/magento/module-sales/Model/Order.php
index f272a4638a17..782465d3b9a6 100644
--- a/vendor/magento/module-sales/Model/Order.php
+++ b/vendor/magento/module-sales/Model/Order.php
@@ -1328,9 +1328,11 @@ public function registerCancellation($comment = '', $graceful = true)
             $this->setShippingCanceled($this->getShippingAmount() - $this->getShippingInvoiced());
             $this->setBaseShippingCanceled($this->getBaseShippingAmount() - $this->getBaseShippingInvoiced());

-            $this->setDiscountCanceled(abs((float) $this->getDiscountAmount()) - $this->getDiscountInvoiced());
+            $this->setDiscountCanceled(
+                abs((float) $this->getDiscountAmount()) - abs((float) $this->getDiscountInvoiced())
+            );
             $this->setBaseDiscountCanceled(
-                abs((float) $this->getBaseDiscountAmount()) - $this->getBaseDiscountInvoiced()
+                abs((float) $this->getBaseDiscountAmount()) - abs((float) $this->getBaseDiscountInvoiced())
             );

             $this->setTotalCanceled($this->getGrandTotal() - $this->getTotalPaid());
