-diff -urN sysvinit-2.86.org/src/init.c sysvinit-2.86/src/init.c
---- sysvinit-2.86.org/src/init.c 2004-07-30 14:16:20.000000000 +0200
-+++ sysvinit-2.86/src/init.c 2005-09-04 23:43:54.593827008 +0200
-@@ -1151,7 +1151,7 @@
+--- sysvinit-2.86/src/init.c.single 2005-12-21 12:21:04.000000000 -0500
++++ sysvinit-2.86/src/init.c 2005-12-21 12:21:40.000000000 -0500
+@@ -1153,7 +1153,7 @@
* See if we have a single user entry.
*/
for(old = newFamily; old; old = old->next)
- if (strpbrk(old->rlevel, "S")) break;
-+ if (strcmp("S0123456789", old->rlevel) && strpbrk(old->rlevel, "S")) break;
++ if (strpbrk(old->rlevel, "S") && !ISPOWER(old->action)) break;
if (old == NULL)
- snprintf(buf, sizeof(buf), "~~:S:wait:%s\n", SULOGIN);
+ snprintf(buf, sizeof(buf), "~~:S:wait:%s\n", SHELL);
else