diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index d1711af8f843df46a2c50bd1a2447b5744340c38..74b89ad2ff6c08d4b63fbc4b0244bcf6d13c6d92 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -209,5 +209,8 @@ void pirq_init(void)
 
 u32 write_pirq_routing_table(u32 addr)
 {
+	if (!pirq_routing_table)
+		return addr;
+
 	return copy_pirq_routing_table(addr, pirq_routing_table);
 }