Currently, when changing order item contents during order processing in
OrdersEventHandler class such code is used:
Problem with this approach is that inside
OnBeforeItemUpdate, that is called during update the original field values of the object are not taken from database and default values are used. This way any code checking that field value was changed using
$object->GetOriginalField method will always think that field is changed, but it's not true in majority of cases.
Use this code instead.