properly handle scope upgrades