#define DEBUG_STATE_SAVE_SPE   __vcpu_single_flag(iflags, BIT(5))
 /* Save TRBE context if active  */
 #define DEBUG_STATE_SAVE_TRBE  __vcpu_single_flag(iflags, BIT(6))
-/* vcpu running in HYP context */
-#define VCPU_HYP_CONTEXT       __vcpu_single_flag(iflags, BIT(7))
 
 /* SVE enabled for host EL0 */
 #define HOST_SVE_ENABLED       __vcpu_single_flag(sflags, BIT(0))
 
         * If we were in HYP context on entry, adjust the PSTATE view
         * so that the usual helpers work correctly.
         */
-       if (unlikely(vcpu_get_flag(vcpu, VCPU_HYP_CONTEXT))) {
+       if (vcpu_has_nv(vcpu) && (read_sysreg(hcr_el2) & HCR_NV)) {
                u64 mode = *vcpu_cpsr(vcpu) & (PSR_MODE_MASK | PSR_MODE32_BIT);
 
                switch (mode) {
        sysreg_restore_guest_state_vhe(guest_ctxt);
        __debug_switch_to_guest(vcpu);
 
-       if (is_hyp_ctxt(vcpu))
-               vcpu_set_flag(vcpu, VCPU_HYP_CONTEXT);
-       else
-               vcpu_clear_flag(vcpu, VCPU_HYP_CONTEXT);
-
        do {
                /* Jump in the fire! */
                exit_code = __guest_enter(vcpu);