Index: kernel/arch/sparc64/src/trap/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/interrupt.c	(revision 06e1e95342d7b9a9c85c7492529a309d51a3fb6c)
+++ kernel/arch/sparc64/src/trap/interrupt.c	(revision 6ff1f1e849d8a798e3ed34a6dcdd58b2f25b0055)
@@ -37,4 +37,5 @@
 #include <interrupt.h>
 #include <arch/drivers/fhc.h>
+#include <arch/drivers/kbd.h>
 #include <typedefs.h>
 #include <arch/types.h>
@@ -63,5 +64,6 @@
 {
 #ifdef CONFIG_Z8530
-	z8530_belongs_to_kernel = false;
+	if (kbd_type == KBD_Z8530)
+		z8530_belongs_to_kernel = false;
 #endif
 }
@@ -78,4 +80,6 @@
 #ifdef CONFIG_Z8530
 	case Z8530_INTRCV_DATA0:
+		if (kbd_type != KBD_Z8530)
+			break;
 		/*
 		 * So far, we know we got this interrupt through the FHC.
