diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c
index 0f9c0d81de692585af390bc04923b1593de26847..80f97488721a0d26ef3e6bbae45aa89a85070903 100644
--- a/arch/sparc/kernel/setup.c
+++ b/arch/sparc/kernel/setup.c
@@ -24,6 +24,7 @@
 #include <kernel/sched.h>
 
 #include <kernel/smp.h>
+#include <asm/irqflags.h>
 
 void *_kernel_stack_top;
 void *_kernel_stack_bottom;
@@ -121,6 +122,8 @@ void smp_cpu_entry(void)
 	reserve_kernel_stack();
 	BUG_ON(stack_migrate(NULL, _kernel_stack_top));
 
+	arch_local_irq_enable();
+
 	printk("hi i'm cpu %d\n", leon3_cpuid());
 
 	BUG_ON(!leon3_cpuid());