diff --git a/gentoo/splash.c b/gentoo/splash.c
index 945f3aa..93e72e2 100644
--- a/gentoo/splash.c
+++ b/gentoo/splash.c
@@ -719,9 +719,14 @@ int _splash_hook (rc_hook_t hook, const char *name)
break;
case rc_hook_service_start_now:
+do_start:
+ /* If we've been inactive, do nothing since the service has
+ * already been handled before it went inactive. */
+ if (rc_service_state(name, rc_service_wasinactive)
+ return 0;
+
/* If we're starting or stopping a service, we're being called by
* runscript and thus have to reload our config. */
-do_start:
if (splash_init(true))
return -1;
i = splash_svc_handle(name, "svc_start");