Put in guards against infinite promotion loops