From: Daniel Drake To avoid race conditions, sometimes runscript exits early with a "foo is not under our control" message. Currently we interpret that as failure in the start_done handler. This change refines the failure handling to purely failure conditions. I confirmed that this only triggers once for affected services. Index: splashutils-gentoo-1.0.3/splash.c =================================================================== --- splashutils-gentoo-1.0.3.orig/splash.c +++ splashutils-gentoo-1.0.3/splash.c @@ -753,8 +753,8 @@ do_start: if (splash_check_daemon(&pid_daemon, false)) return -1; - if (rc_service_state(name, rc_service_started) || - rc_service_state(name, rc_service_inactive)) { + if (!rc_service_state(name, rc_service_failed) && + !rc_service_state(name, rc_service_stopped)) { bool gpm = false; if (!strcmp(name, "gpm")) {