diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
index 635df5c9e6014d8a2d2dae9fdf214e8bcee8706c..d65b5a1c220917fb50d039cf5d264507dd60f29b 100644
--- a/arch/sparc/kernel/setup_32.c
+++ b/arch/sparc/kernel/setup_32.c
@@ -229,6 +229,8 @@ static void __init per_cpu_patch(void)
 		*(unsigned int *) (addr + 0) = insns[0];
 		*(unsigned int *) (addr + 4) = insns[1];
 		*(unsigned int *) (addr + 8) = insns[2];
+
+		p++;
 	}
 #ifdef CONFIG_SMP
 	local_ops->cache_all();