diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index a25a73147f714458dd6c55fe7426649f9dd5baa2..eb4c9d2849dc76b18e92ccba55f1a36cc8b1b08b 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2043,7 +2043,8 @@ void kvm_vcpu_block(struct kvm_vcpu *vcpu)
 		else if (vcpu->halt_poll_ns < halt_poll_ns &&
 			block_ns < halt_poll_ns)
 			grow_halt_poll_ns(vcpu);
-	}
+	} else
+		vcpu->halt_poll_ns = 0;
 
 	trace_kvm_vcpu_wakeup(block_ns, waited);
 }