diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c
index f550e23632f8a7db81c7752714453d0dbd113b7e..a88800ff4d011719bde894f8080dafea7f4aaf20 100644
--- a/arch/powerpc/sysdev/mpc8xx_pic.c
+++ b/arch/powerpc/sysdev/mpc8xx_pic.c
@@ -80,7 +80,7 @@ static int mpc8xx_set_irq_type(struct irq_data *d, unsigned int flow_type)
 		if ((hw & 1) == 0) {
 			siel |= (0x80000000 >> hw);
 			out_be32(&siu_reg->sc_siel, siel);
-			__irq_set_handler_locked(irq, handle_edge_irq);
+			__irq_set_handler_locked(d->irq, handle_edge_irq);
 		}
 	}
 	return 0;