diff --git a/addons/mrp/models/stock_move.py b/addons/mrp/models/stock_move.py
index cd986d0961abc6bfb8d03aa66c014483196f12bb..ed41b595e8cb04e798d35e03ed6f68dc327ef762 100644
--- a/addons/mrp/models/stock_move.py
+++ b/addons/mrp/models/stock_move.py
@@ -120,12 +120,6 @@ class StockMove(models.Model):
         for move in self:
             move.order_finished_lot_ids = move.raw_material_production_id.lot_producing_id
 
-    @api.model
-    def _prepare_merge_moves_distinct_fields(self):
-        distinct_fields = super()._prepare_merge_moves_distinct_fields()
-        distinct_fields.append('bom_line_id')
-        return distinct_fields
-
     @api.depends('raw_material_production_id.bom_id')
     def _compute_allowed_operation_ids(self):
         for move in self:
@@ -380,7 +374,8 @@ class StockMove(models.Model):
     def _prepare_merge_moves_distinct_fields(self):
         distinct_fields = super()._prepare_merge_moves_distinct_fields()
         distinct_fields.append('created_production_id')
-        distinct_fields.append('bom_line_id')
+        if self.bom_line_id and ("phantom" in self.bom_line_id.bom_id.mapped('type')):
+            distinct_fields.append('bom_line_id')
         return distinct_fields
 
     @api.model