I've attached a patch which reverses the logic in the init script.
-- David Härdeman
diff -ur ./usplash-0.4-43.orig/debian/usplash.init ./usplash-0.4-43/debian/usplash.init --- ./usplash-0.4-43.orig/debian/usplash.init 2007-05-09 20:21:34.000000000 +0200 +++ ./usplash-0.4-43/debian/usplash.init 2007-05-09 20:25:37.000000000 +0200 @@ -49,7 +49,7 @@ else CONSOLE_SCREEN= fi - if type usplash >/dev/null 2>&1 && grep -q splash /proc/cmdline && + if type usplash >/dev/null 2>&1 && grep -qwv nosplash /proc/cmdline && ( pidof usplash > /dev/null || [ "$(fgconsole 2>/dev/null)" = "8" ] ); then # Clear VT 8 of any console messages clear >/dev/tty8 @@ -84,7 +84,7 @@ ;; stop) # only run with splash boot cmdline - if [ -r /proc/cmdline ] && grep -q splash /proc/cmdline; then + if [ -r /proc/cmdline ] && grep -qwv nosplash /proc/cmdline; then usplash -c & usplash_write "TEXT Resetting the usplash timeout..." usplash_write "TIMEOUT 15"