I already described my full rom upgrade to 4.0.3 in a former post https://blog.coffeebeans.at/?p=208. This time I chose not to loose my apps+configuration and downloaded an official 4.0.3 to 4.0.4 patch from google as the OTA-update failed without an error message and the hourly message that there is an update available was a bit annoying.
If you follow my steps you do this on your own risk and I’m not responsible if you brick your phone or loose warranty.
I found an officially signed update package under http://forum.xda-developers.com/showthread.php?t=1445635 (Android 4.0.3 (Build IML74K/XXKI1 Radio/KL1 Bootloader 4.0.3 -> 4.0.4) and copied it over to my sdcard. I also copied the SuperUser-zip I used the last time. Then I rebooted into bootloader and started recovery mode. There I just installed the downloaded patch and the superuser package in this order.
Then I checked that there is no install-recovery.sh in /system/etc. I had to rename it again, as I did the last time. Then i booted my new 4.0.4 without any problems. Also the recovery mode is still working after a reboot.