diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 7466abae84bf513d2879aa9c5a74f0e128141a83..3624f202b440aaf1251d5a6c29684c2a56bbca00 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -3993,7 +3993,8 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt)
 	jump_far:
 		memcpy(&sel, c->src.valptr + c->op_bytes, 2);
 
-		if (load_segment_descriptor(ctxt, ops, sel, VCPU_SREG_CS))
+		rc = load_segment_descriptor(ctxt, ops, sel, VCPU_SREG_CS);
+		if (rc != X86EMUL_CONTINUE)
 			goto done;
 
 		c->eip = 0;