diff --git a/src/core/service.c b/src/core/service.c index bc519514a1..8b2158c677 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -4353,8 +4353,11 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { break; case SERVICE_REFRESH_EXTENSIONS: - /* Remounting extensions asynchronously done, proceed to signal */ - service_enter_reload_signal_exec(s); + if (f == SERVICE_SUCCESS) + /* Remounting extensions asynchronously done, proceed to signal */ + service_enter_reload_signal_exec(s); + else + service_reload_finish(s, f); break; case SERVICE_MOUNTING: