patch 155 (linux-2.2.16-rhconfig.patch) breaks the way the arch is determined. I modifies the make *config for the kernel so that instead of looking at the build arch to determine which config file to use for the kernel build, it looks at your current system type. This means that if I'm on a 686 box and do a 'rpm --target=i586 --rebuild kernel-2.2.16-22.src.rpm' it will build an rpm that is labelled as being i585, however the actual kernel compile will make a 686 kernel, resulting in a mislabeled rpm. Commenting out the line where this patch is applied in the spec file seems to solve the problem.