the maybe_upgrade should happen here, in the true clause.