diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index 6343dbb79af..fb08a82bb81 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -1021,7 +1021,7 @@ class StockMove(models.Model): if move.propagate: # only cancel the next move if all my siblings are also cancelled if all(state == 'cancel' for state in siblings_states): - move.move_dest_ids._action_cancel() + move.move_dest_ids.filtered(lambda m: m.state != 'done')._action_cancel() else: if all(state in ('done', 'cancel') for state in siblings_states): move.move_dest_ids.write({'procure_method': 'make_to_stock'})