diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
index 4434e154f59648ab0d11d4f3c71f6494ceb506d0..74102796e5c06d4fdd749c5e50e0726262d1c975 100644
--- a/arch/x86_64/kernel/time.c
+++ b/arch/x86_64/kernel/time.c
@@ -915,7 +915,7 @@ void __init time_init(void)
 		cpu_khz = hpet_calibrate_tsc();
 		timename = "HPET";
 #ifdef CONFIG_X86_PM_TIMER
-	} else if (pmtmr_ioport) {
+	} else if (pmtmr_ioport && !vxtime.hpet_address) {
 		vxtime_hz = PM_TIMER_FREQUENCY;
 		timename = "PM";
 		pit_init();