diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index a9a9dbe49fead98c11aa4ea4aa2d3d38cd187494..c0730ad8a1173960f0ffa368dcf46140166ccddb 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -773,7 +773,7 @@ static int irq_thread(void *data)
 			struct irqaction *action);
 	int wake;
 
-	if (force_irqthreads & test_bit(IRQTF_FORCED_THREAD,
+	if (force_irqthreads && test_bit(IRQTF_FORCED_THREAD,
 					&action->thread_flags))
 		handler_fn = irq_forced_thread_fn;
 	else