fix upgrades with both static and dynamic modifiers overwriting each other