diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py
index 4ef4bdadd5cba6bec4129d99589f454c7db7409e..8fed99e8eab8de616b17f4368e15ea468cbfefc0 100644
--- a/addons/purchase/models/purchase.py
+++ b/addons/purchase/models/purchase.py
@@ -1065,7 +1065,7 @@ class PurchaseOrderLine(models.Model):
         else:
             return self.invoice_lines
 
-    @api.depends('product_id')
+    @api.depends('product_id', 'product_id.type')
     def _compute_qty_received_method(self):
         for line in self:
             if line.product_id and line.product_id.type in ['consu', 'service']: