test_bit(KVM_ARM_VCPU_PTRAUTH_GENERIC, &features))
                return -EINVAL;
 
+       /* Disallow NV+SVE for the time being */
+       if (test_bit(KVM_ARM_VCPU_HAS_EL2, &features) &&
+           test_bit(KVM_ARM_VCPU_SVE, &features))
+               return -EINVAL;
+
        if (!test_bit(KVM_ARM_VCPU_EL1_32BIT, &features))
                return 0;
 
 
        if (loaded)
                kvm_arch_vcpu_put(vcpu);
 
-       /* Disallow NV+SVE for the time being */
-       if (vcpu_has_nv(vcpu) && vcpu_has_feature(vcpu, KVM_ARM_VCPU_SVE)) {
-               ret = -EINVAL;
-               goto out;
-       }
-
        if (!kvm_arm_vcpu_sve_finalized(vcpu)) {
                if (test_bit(KVM_ARM_VCPU_SVE, vcpu->arch.features))
                        kvm_vcpu_enable_sve(vcpu);
 
        /* Reset timer */
        ret = kvm_timer_vcpu_reset(vcpu);
-out:
+
        if (loaded)
                kvm_arch_vcpu_load(vcpu, smp_processor_id());
        preempt_enable();