--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -27,25 +27,28 @@
 #include <asm/system.h>
 
 #include "entry-header.S"
+
 #include <asm/entry-macro-multi.S>
 
+
 /*
  * Interrupt handling.
  */
 	.macro	irq_handler
+
 #ifdef CONFIG_MULTI_IRQ_HANDLER
-	ldr	r1, =handle_arch_irq
+
+    ldr	r1, =handle_arch_irq
 	mov	r0, sp
-	ldr	r1, [r1]
 	adr	lr, BSYM(9997f)
-	teq	r1, #0
-	movne	pc, r1
-#endif
+    ldr pc, [r1]
+#else
 	arch_irq_handler_default
+#endif
 9997:
 	.endm
 
-	.macro	pabt_helper
+    .macro	pabt_helper
 	@ PABORT handler takes pt_regs in r2, fault address in r4 and psr in r5
 #ifdef MULTI_PABORT
 	ldr	ip, .LCprocfns
diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S
index 9d95a46..9dd0881 100644
