diff --git a/product/ERP5/Document/OrderBuilder.py b/product/ERP5/Document/OrderBuilder.py
index 7b17b457838c891c9796683c8a849ed7763b2c26..8d80fe0f8efefc0f67915287af81718cc9f57e88 100644
--- a/product/ERP5/Document/OrderBuilder.py
+++ b/product/ERP5/Document/OrderBuilder.py
@@ -470,6 +470,8 @@ class OrderBuilder(XMLObject, Amount, Predicate):
             parent._duplicate(parent.manage_copyObjects(ids=ids))[0],
             (delivery, old_delivery_line.getId()), {}, CopyError)
           delivery_line = delivery[cp['new_id']]
+          # reset variation category list
+          delivery_line.setVariationCategoryList([])
           # delete non-split movements
           keep_id_list = [y.getDeliveryValue().getId() for y in \
                           movement_group.getMovementList()]
@@ -482,6 +484,8 @@ class OrderBuilder(XMLObject, Amount, Predicate):
         delivery_line.edit(**property_dict)
 
       # Update variation category list on line
+      # XXX updating variation category list should be also handled by
+      # MovementGroup
       line_variation_category_list = delivery_line.getVariationCategoryList()
       for movement in movement_group.getMovementList():
         line_variation_category_list.extend(