Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision a773b8b018e3509e70f093d1ff08a0946b7dfe40)
+++ kernel/arch/amd64/src/amd64.c	(revision bbb99f8282ee38769ab9130ff5683535ed6c6d33)
@@ -123,4 +123,13 @@
 		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE,
 		    IVT_IRQBASE + 8);
+
+		/*
+		 * Set the enable/disable IRQs handlers.
+		 * Set the End-of-Interrupt handler.
+		 */
+		enable_irqs_function = pic_enable_irqs;
+		disable_irqs_function = pic_disable_irqs;
+		eoi_function = pic_eoi;
+		irqs_info = "i8259";
 	}
 }
Index: kernel/arch/ia32/src/ia32.c
===================================================================
--- kernel/arch/ia32/src/ia32.c	(revision a773b8b018e3509e70f093d1ff08a0946b7dfe40)
+++ kernel/arch/ia32/src/ia32.c	(revision bbb99f8282ee38769ab9130ff5683535ed6c6d33)
@@ -112,4 +112,13 @@
 		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE,
 		    IVT_IRQBASE + 8);
+
+		/*
+		 * Set the enable/disable IRQs handlers.
+		 * Set the End-of-Interrupt handler.
+		 */
+		enable_irqs_function = pic_enable_irqs;
+		disable_irqs_function = pic_disable_irqs;
+		eoi_function = pic_eoi;
+		irqs_info = "i8259";
 	}
 }
Index: kernel/genarch/src/drivers/i8259/i8259.c
===================================================================
--- kernel/genarch/src/drivers/i8259/i8259.c	(revision a773b8b018e3509e70f093d1ff08a0946b7dfe40)
+++ kernel/genarch/src/drivers/i8259/i8259.c	(revision bbb99f8282ee38769ab9130ff5683535ed6c6d33)
@@ -81,16 +81,11 @@
 	/*
 	 * Register interrupt handler for the PIC spurious interrupt.
+	 *
+	 * XXX: This is currently broken. Both IRQ 7 and IRQ 15 can be spurious
+	 *      or can be actual interrupts. This needs to be detected when
+	 *      the interrupt happens by inspecting ISR.
 	 */
-	exc_register(VECTOR_PIC_SPUR, "pic_spurious", false,
+	exc_register(irq0_int + 7, "pic_spurious", false,
 	    (iroutine_t) pic_spurious);
-
-	/*
-	 * Set the enable/disable IRQs handlers.
-	 * Set the End-of-Interrupt handler.
-	 */
-	enable_irqs_function = pic_enable_irqs;
-	disable_irqs_function = pic_disable_irqs;
-	eoi_function = pic_eoi;
-	irqs_info = "i8259";
 
 	pic_disable_irqs(0xffff);		/* disable all irq's */
