diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index d06a396c7ce3a..1cbd572f6ad8d 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -849,6 +849,8 @@ static int irq_thread(void *data)
 	init_task_work(&on_exit_work, irq_thread_dtor);
 	task_work_add(current, &on_exit_work, false);
 
+	irq_thread_check_affinity(desc, action);
+
 	while (!irq_wait_for_interrupt(action)) {
 		irqreturn_t action_ret;