diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index b969c9beb210dea652de9eddda17f991802ead17..7825b687ba65897f6be40e50cedd4f3be90072e8 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -455,7 +455,8 @@ class PurchaseOrderLine(models.Model):
         for line in self:
             qty = 0.0
             for inv_line in line.invoice_lines:
-                qty += inv_line.uom_id._compute_qty_obj(inv_line.uom_id, inv_line.quantity, line.product_uom)
+                if inv_line.invoice_id.state not in ['cancel']:
+                    qty += inv_line.uom_id._compute_qty_obj(inv_line.uom_id, inv_line.quantity, line.product_uom)
             line.qty_invoiced = qty
 
     @api.depends('order_id.state', 'move_ids.state')