diff --git a/src/librc/librc-depend.c b/src/librc/librc-depend.c index 62d7044c..7fb6b907 100644 --- a/src/librc/librc-depend.c +++ b/src/librc/librc-depend.c @@ -189,9 +189,11 @@ valid_service(const char *runlevel, const char *service, const char *type) if (rc_service_in_runlevel(service, runlevel)) return true; - if (strcmp(runlevel, RC_LEVEL_SHUTDOWN) == 0 || - strcmp(runlevel, RC_LEVEL_SYSINIT) == 0) - return false; + if (strcmp(runlevel, RC_LEVEL_SYSINIT) == 0) + return false; + if (strcmp(runlevel, RC_LEVEL_SHUTDOWN) == 0 && + strcmp(type, "iafter") == 0) + return false; if (strcmp(runlevel, bootlevel) != 0) { if (rc_service_in_runlevel(service, bootlevel)) return true;