diff --git a/src/app/MainApplicationWindow.qml b/src/app/MainApplicationWindow.qml
index a2555e16139ad2147bf8a4a7f13200ba5a652db4..67f5ac409bb2534cf05268f1fc4721ecaf2c2f5b 100644
--- a/src/app/MainApplicationWindow.qml
+++ b/src/app/MainApplicationWindow.qml
@@ -116,7 +116,8 @@ ApplicationWindow {
     function close(force = false) {
         // If we're in the onboarding wizard or 'MinimizeOnClose'
         // is set, then we can quit
-        if (force || !UtilsAdapter.getAppValue(Settings.MinimizeOnClose) || !UtilsAdapter.getAccountListSize()) {
+        var minimizeToTray = UtilsAdapter.getAppValue(Settings.MinimizeOnClose) && UtilsAdapter.isSystemTrayIconVisible();
+        if (force || !minimizeToTray || !UtilsAdapter.getAccountListSize()) {
             Qt.quit();
         } else {
             layoutManager.closeToTray();
diff --git a/src/app/appsettingsmanager.h b/src/app/appsettingsmanager.h
index bbdfa5cd828ca1a8f8da2fed1ecccc45f3e862cb..c2b61d79e696be5cbd9b7bb21bf49a2817c79d92 100644
--- a/src/app/appsettingsmanager.h
+++ b/src/app/appsettingsmanager.h
@@ -43,7 +43,7 @@ extern const QString defaultDownloadPath;
 
 // Common key-value pairs for both APPSTORE and non-APPSTORE builds
 #define COMMON_KEYS \
-    X(MinimizeOnClose, false) \
+    X(MinimizeOnClose, true) \
     X(DownloadPath, defaultDownloadPath) \
     X(ScreenshotPath, {}) \
     X(EnableNotifications, true) \
diff --git a/src/app/settingsview/components/SystemSettingsPage.qml b/src/app/settingsview/components/SystemSettingsPage.qml
index 3ea004118f2b4e6b042a8e4b580f86b30250603f..f953faec25c2fff447f7703bb7ff75ba0f770288 100644
--- a/src/app/settingsview/components/SystemSettingsPage.qml
+++ b/src/app/settingsview/components/SystemSettingsPage.qml
@@ -101,8 +101,7 @@ SettingsPageBase {
                 id: closeOrMinCheckBox
                 Layout.fillWidth: true
 
-                visible: UtilsAdapter.isSystemTrayIconVisible()
-                checked: UtilsAdapter.getAppValue(Settings.MinimizeOnClose) && UtilsAdapter.isSystemTrayIconVisible()
+                checked: UtilsAdapter.getAppValue(Settings.MinimizeOnClose)
                 labelText: JamiStrings.keepMinimized
                 onSwitchToggled: UtilsAdapter.setAppValue(Settings.Key.MinimizeOnClose, checked)
             }
diff --git a/src/app/utilsadapter.cpp b/src/app/utilsadapter.cpp
index e6143d8a6f3dc0657d67cf8c1a9c87a254d3fda5..ec4ac13a7cdc935b9d0ab9ba274afe90a4849572 100644
--- a/src/app/utilsadapter.cpp
+++ b/src/app/utilsadapter.cpp
@@ -26,6 +26,7 @@
 #include "systemtray.h"
 #include "utils.h"
 #include "version.h"
+#include "global.h"
 
 #include <api/datatransfermodel.h>
 #include <api/contact.h>
@@ -229,7 +230,7 @@ UtilsAdapter::getConvIdForUri(const QString& accountId, const QString& uri)
             return {};
         return convInfo->get().uid;
     } catch (const std::out_of_range& e) {
-        qDebug() << e.what();
+        C_DBG << e.what();
         return "";
     }
 }
@@ -242,7 +243,7 @@ UtilsAdapter::getPeerUri(const QString& accountId, const QString& uid)
         const auto& convInfo = convModel->getConversationForUid(uid).value();
         return convInfo.get().participants.front().uri;
     } catch (const std::out_of_range& e) {
-        qDebug() << e.what();
+        C_DBG << e.what();
         return "";
     }
 }
@@ -745,7 +746,7 @@ UtilsAdapter::isSystemThemeDark()
 #endif
     return readAppsUseLightThemeRegistry(true);
 #else
-    qWarning("System theme detection is not implemented or is not supported");
+    C_WARN << "System theme detection is not implemented or is not supported";
     return false;
 #endif // WIN32
 #endif // __has_include(<gio/gio.h>)
@@ -827,13 +828,7 @@ UtilsAdapter::isRTL()
 bool
 UtilsAdapter::isSystemTrayIconVisible()
 {
-    if (!systemTray_)
-        return false;
-    // https://bugreports.qt.io/browse/QTBUG-118656
-#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
-    return true;
-#endif
-    return systemTray_->geometry() != QRect();
+    return QSystemTrayIcon::isSystemTrayAvailable() && systemTray_;
 }
 
 QString
@@ -891,7 +886,7 @@ UtilsAdapter::createDummyImage() const
         qInfo() << "Dummy image created" << QDir::tempPath() + "/dummy.png";
         return QDir::tempPath() + "/dummy.png";
     } else {
-        qWarning() << "Could not create dummy image";
+        C_WARN << "Could not create dummy image";
         return "";
     }
 }