Index: kdeui/kernel/kuniqueapplication.cpp
===================================================================
--- kdeui/kernel/kuniqueapplication.cpp	(revision 779515)
+++ kdeui/kernel/kuniqueapplication.cpp	(working copy)
@@ -72,6 +72,9 @@
 bool KUniqueApplication::Private::s_multipleInstances = false;
 bool s_kuniqueapplication_startCalled = false;
 bool KUniqueApplication::Private::s_handleAutoStarted = false;
+#ifdef Q_WS_WIN
+QString KUniqueApplication::Private::s_dbusServiceName;
+#endif
 
 void
 KUniqueApplication::addCmdLineOptions()
@@ -151,6 +154,9 @@
                  << endl;
         ::exit(255);
      }
+#ifdef Q_WS_WIN
+     Private::s_dbusServiceName = appName;
+#endif
 
      // We'll call newInstance in the constructor. Do nothing here.
      return true;
@@ -331,6 +337,16 @@
 
 KUniqueApplication::~KUniqueApplication()
 {
+#ifdef Q_WS_WIN
+  // work around for KUniqueApplication being not completely implemented on windows
+  QDBusConnectionInterface* dbusService;
+  if (QDBusConnection::sessionBus().isConnected()
+    && (dbusService = QDBusConnection::sessionBus().interface()))
+  {
+    dbusService->unregisterService(Private::s_dbusServiceName);
+  }
+#endif
+
   delete d;
 }
 
Index: kdeui/kernel/kuniqueapplication_p.h
===================================================================
--- kdeui/kernel/kuniqueapplication_p.h	(revision 779515)
+++ kdeui/kernel/kuniqueapplication_p.h	(working copy)
@@ -42,6 +42,10 @@
    static bool s_nofork;
    static bool s_multipleInstances;
    static bool s_handleAutoStarted;
+
+#ifdef Q_WS_WIN
+   static QString s_dbusServiceName;
+#endif
 };
 
 class KUniqueApplicationAdaptor: public QDBusAbstractAdaptor
