diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 6e6e44203b9feebb81b7a0ea8d864eb76408fb8e..4176d75229a332b1e4891ac346801a48d2c57fc0 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -54,7 +54,9 @@ class SaleOrder(models.Model):
             invoice_ids = order.order_line.mapped('invoice_lines').mapped('invoice_id')
             # Search for invoices which have been 'cancelled' (filter_refund = 'modify' in
             # 'account.invoice.refund')
-            invoice_ids |= invoice_ids.search([('origin', 'like', order.name)])
+            # use like as origin may contains multiple references (e.g. 'SO01, SO02')
+            refunds = invoice_ids.search([('origin', 'like', order.name)])
+            invoice_ids |= refunds.filtered(lambda r: order.name in [origin.strip() for origin in r.origin.split(',')])
             # Search for refunds as well
             refund_ids = self.env['account.invoice'].browse()
             if invoice_ids: