diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index e82a18ccfc1a2b020852082aeebca9ddb2723ab7..d6ca5c4f29f1b7cb47d5313c7aa96843590bb8fd 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -2339,6 +2339,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu, int timer_advance_ns)
 	return 0;
 nomem_free_apic:
 	kfree(apic);
+	vcpu->arch.apic = NULL;
 nomem:
 	return -ENOMEM;
 }