diff --git a/applets/systemtray/systemtray.cpp b/applets/systemtray/systemtray.cpp --- a/applets/systemtray/systemtray.cpp +++ b/applets/systemtray/systemtray.cpp @@ -109,7 +109,11 @@ //only allow one instance per applet if (task == applet->pluginInfo().pluginName()) { - return; + //Applet::destroy doesn't delete the applet from Containment::applets in the same event + //potentially a dbus activated service being restarted can be added in this time. + if (!applet->destroyed()) { + return; + } } }