need a NULL check here because IS_LOCAL() inspects a field in User