diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp
index 59f8f78005f3951dc477efeb2c1ab091ed7fd18f..45c4b60b1f3e1ee1601144e2d23d36336839f5fa 100644
--- a/app/src/websockets/websocketserver.cpp
+++ b/app/src/websockets/websocketserver.cpp
@@ -8,6 +8,7 @@
 
 #include "handlers/confighandler.h"
 #include "handlers/systemhandler.h"
+#include "handlers/desktopthemehandler.h"
 #include "handlers/ocsapihandler.h"
 #include "handlers/itemhandler.h"
 
@@ -21,6 +22,7 @@ WebSocketServer::WebSocketServer(ConfigHandler *configHandler, const QString &se
 
     configHandler_->setParent(this);
     systemHandler_ = new SystemHandler(this);
+    desktopThemeHandler_ = new DesktopThemeHandler(this);
     ocsApiHandler_ = new OcsApiHandler(configHandler_, this);
     itemHandler_ = new ItemHandler(configHandler_, this);
 
@@ -276,15 +278,16 @@ void WebSocketServer::receiveMessage(const QString &id, const QString &func, con
     else if (func == "SystemHandler::openUrl") {
         resultData.append(systemHandler_->openUrl(data.at(0).toString()));
     }
-    else if (func == "SystemHandler::desktopEnvironment") {
-        resultData.append(systemHandler_->desktopEnvironment());
+    // DesktopThemeHandler
+    else if (func == "DesktopThemeHandler::desktopEnvironment") {
+        resultData.append(desktopThemeHandler_->desktopEnvironment());
     }
-    else if (func == "SystemHandler::isApplicableType") {
-        resultData.append(systemHandler_->isApplicableType(data.at(0).toString()));
+    else if (func == "DesktopThemeHandler::isApplicableType") {
+        resultData.append(desktopThemeHandler_->isApplicableType(data.at(0).toString()));
     }
-    else if (func == "SystemHandler::applyFile") {
+    else if (func == "DesktopThemeHandler::applyTheme") {
 #ifdef QTLIB_UNIX
-        resultData.append(systemHandler_->applyFile(data.at(0).toString(), data.at(1).toString()));
+        resultData.append(desktopThemeHandler_->applyTheme(data.at(0).toString(), data.at(1).toString()));
 #else
         resultData.append(false);
 #endif
diff --git a/app/src/websockets/websocketserver.h b/app/src/websockets/websocketserver.h
index cfd2bcacb99a42610e5c12f363e680dbedf0f723..66edab50cecefde77a54e4d3da791fd7b814c31e 100644
--- a/app/src/websockets/websocketserver.h
+++ b/app/src/websockets/websocketserver.h
@@ -10,6 +10,7 @@ class QWebSocket;
 
 class ConfigHandler;
 class SystemHandler;
+class DesktopThemeHandler;
 class OcsApiHandler;
 class ItemHandler;
 
@@ -55,6 +56,7 @@ private:
 
     ConfigHandler *configHandler_;
     SystemHandler *systemHandler_;
+    DesktopThemeHandler *desktopThemeHandler_;
     OcsApiHandler *ocsApiHandler_;
     ItemHandler *itemHandler_;