diff --git a/src/common/x64/cpu_detect.cpp b/src/common/x64/cpu_detect.cpp
index 4230b2da6f..1a27532d45 100644
--- a/src/common/x64/cpu_detect.cpp
+++ b/src/common/x64/cpu_detect.cpp
@@ -170,8 +170,11 @@ static CPUCaps Detect() {
         // The CPU model can be detected to use the values from turbostat
         // https://github.com/torvalds/linux/blob/master/tools/power/x86/turbostat/turbostat.c#L5569
         // but it's easier to just estimate the TSC tick rate for these cases.
-        caps.tsc_frequency = static_cast<u64>(caps.crystal_frequency) *
-                             caps.tsc_crystal_ratio_numerator / caps.tsc_crystal_ratio_denominator;
+        if (caps.tsc_crystal_ratio_denominator) {
+            caps.tsc_frequency = static_cast<u64>(caps.crystal_frequency) *
+                                 caps.tsc_crystal_ratio_numerator /
+                                 caps.tsc_crystal_ratio_denominator;
+        }
     }
 
     if (max_std_fn >= 0x16) {