diff --git a/gui/qml/main.qml b/gui/qml/main.qml
index ddd049d79dfde96f34bcce7561770c3ef49419d9..a29c8d181eaa4cbb6804ef2830a8776f2fb8b12e 100644
--- a/gui/qml/main.qml
+++ b/gui/qml/main.qml
@@ -320,10 +320,15 @@ Window {
 
         id: systray
         visible: systrayVisible
-        signal activatedSignal
 
         onActivated: {
-            systray.activatedSignal()
+	    if (reason != SystemTrayIcon.Context) {
+		if (app.visible) {
+		    app.hide()
+		} else {
+		    app.show()
+		}
+            }
         }
 
 
@@ -336,16 +341,6 @@ Window {
 
             id: systrayMenu
 
-            Connections {
-                target: systray
-                onActivatedSignal: {
-                    if (Qt.platform.os === "windows" || desktop === "LXQt") {
-                        console.debug("open systray menu")
-                        systrayMenu.open()
-                    }
-                }
-            }
-
             MenuItem {
                 id: statusItem
                 text: qsTr("Checking status…")