Index: kutils/kpluginselector.cpp =================================================================== --- kutils/kpluginselector.cpp (revision 856658) +++ kutils/kpluginselector.cpp (revision 856659) @@ -410,7 +410,8 @@ if (!pluginEntryList.contains(pluginEntry) && !listToAdd.contains(pluginEntry) && (!pluginInfo.property("X-KDE-PluginInfo-Category").isValid() || - !pluginInfo.property("X-KDE-PluginInfo-Category").toString().compare(categoryKey, Qt::CaseInsensitive))) { + !pluginInfo.property("X-KDE-PluginInfo-Category").toString().compare(categoryKey, Qt::CaseInsensitive)) && + !pluginInfo.service()->noDisplay()) { listToAdd << pluginEntry; if (!pluginSelector_d->showIcons && !pluginInfo.icon().isEmpty()) { Index: kutils/kpluginselector.cpp =================================================================== --- kutils/kpluginselector.cpp (revision 856718) +++ kutils/kpluginselector.cpp (revision 856719) @@ -411,7 +411,7 @@ if (!pluginEntryList.contains(pluginEntry) && !listToAdd.contains(pluginEntry) && (!pluginInfo.property("X-KDE-PluginInfo-Category").isValid() || !pluginInfo.property("X-KDE-PluginInfo-Category").toString().compare(categoryKey, Qt::CaseInsensitive)) && - !pluginInfo.service()->noDisplay()) { + (pluginInfo.service().isNull() || !pluginInfo.service()->noDisplay())) { listToAdd << pluginEntry; if (!pluginSelector_d->showIcons && !pluginInfo.icon().isEmpty()) { Index: kutils/kcmoduleproxy.cpp =================================================================== --- kutils/kcmoduleproxy.cpp (revision 857917) +++ kutils/kcmoduleproxy.cpp (revision 857918) @@ -228,7 +228,7 @@ Q_Q(KCModuleProxy); changed = c; emit q->changed(c); - emit q->changed(this); + emit q->changed(q); } void KCModuleProxyPrivate::_k_moduleDestroyed()