if profile.save() failed, does it make sense to set the preference?