diff --git a/gui/components/Help.qml b/gui/components/Help.qml
index 6148ecef314cd7b14a1a33c32816605828d95eba..ed6f5431c31e17f7b16c48591776733ffbaf3dec 100644
--- a/gui/components/Help.qml
+++ b/gui/components/Help.qml
@@ -1,9 +1,12 @@
-import QtQuick 2.9
+import QtQuick 2.15
 import QtQuick.Controls 2.2
 
+import "../themes/themes.js" as Theme
+
 ThemedPage {
     title: qsTr("Help")
     property var issueTracker: "https://0xacab.org/leap/bitmask-vpn/issues"
+    property var uninstall: "https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md"
 
     Column {
         anchors.centerIn: parent
@@ -11,15 +14,36 @@ ThemedPage {
 
         Text {
             font.pixelSize: 14
+            textFormat: Text.RichText
+            color: Theme.green
             anchors.horizontalCenter: parent.horizontalCenter
             text: getDummyLink(qsTr("Troubleshooting and support"))
             onLinkActivated: Qt.openUrlExternally(ctx.helpURL)
+            HoverHandler {
+                cursorShape: Qt.PointingHandCursor
+            }
         }
         Text {
             font.pixelSize: 14
+            textFormat: Text.RichText
+            color: Theme.green
             anchors.horizontalCenter: parent.horizontalCenter
             text: getDummyLink(qsTr("Report a bug"))
             onLinkActivated: Qt.openUrlExternally(issueTracker)
+            HoverHandler {
+                cursorShape: Qt.PointingHandCursor
+            }
+        }
+        Text {
+            font.pixelSize: 14
+            textFormat: Text.RichText
+            color: Theme.green
+            anchors.horizontalCenter: parent.horizontalCenter
+            text: getDummyLink(qsTr("How to uninstall"))
+            onLinkActivated: Qt.openUrlExternally(uninstall)
+            HoverHandler {
+                cursorShape: Qt.PointingHandCursor
+            }
         }
         /* XXX needs implementation in the backend
         Button {
@@ -30,6 +54,6 @@ ThemedPage {
     }
 
     function getDummyLink(text) {
-        return "<a href='#'>" + text + "</a>"
+        return "<style>a:link {color: '" + Theme.green + "';}</style><a href=\"#\">" + text + "</a>"
     }
 }
diff --git a/gui/components/Splash.qml b/gui/components/Splash.qml
index 0d494741ca31cd77fa22bb70ba340df26f471499..8c3c310240679f5ae6a62680f64ed7117b472e92 100644
--- a/gui/components/Splash.qml
+++ b/gui/components/Splash.qml
@@ -5,7 +5,7 @@ import "../themes/themes.js" as Theme
 
 Page {
     id: splash
-    property int timeoutInterval: qmlDebug ? 200 : 1600
+    property int timeoutInterval: qmlDebug ? 600 : 1600
     property alias errors: splashErrorBox
 
     ToolButton {
@@ -93,22 +93,11 @@ Page {
     }
 
     function hasMotd() {
-        if (ctx) {
-            if (isTrue(ctx.canUpgrade)) {
-              return true
-            }
-            return !isEmpty(ctx.motd)
-        }
-        return false
+        return needsUpgrade() || (ctx && !isEmpty(ctx.motd))
     }
 
     function getUpgradeText() {
-        let t = ""
-        let platform = Qt.platform.os
-        if (platform == "windows" || platform == "osx" || platform == "linux") {
-            t = qsTr("There is a newer version available.")
-        }
-        return t
+        return qsTr("There is a newer version available. ") + qsTr("Make sure to uninstall the previous one before running the new installer.")
     }
 
     function getUpgradeLink() {
@@ -119,6 +108,21 @@ Page {
         return "https://downloads.leap.se/RiseupVPN/" + Qt.platform.os + "/"
      }
 
+     function needsUpgrade() {
+        if (ctx && isTrue(ctx.canUpgrade)) {
+            if (qmlDebug) {
+                return true
+            }
+            let platform = Qt.platform.os
+            //DEBUG --
+            //if (platform == "windows" || platform == "osx" || platform == "linux" ) {
+            if (platform == "windows" || platform == "osx") {
+                    return true
+            }
+        }
+        return false
+     }
+
     function showMotd() {
         // XXX this is not picking locales configured by LANG or LC_ALL
         let isUpgrade = false
@@ -129,7 +133,7 @@ Page {
         let textLocale = ""
         let link = ""
 
-        if (ctx && isTrue(ctx.canUpgrade)) {
+        if (needsUpgrade()) {
             isUpgrade = true;
             textLocale = getUpgradeText();
             link = getUpgradeLink();
@@ -186,6 +190,7 @@ Page {
         if (ctx && isTrue(ctx.isReady) || qmlDebug) {
             splashTimer.stop()
             if (hasMotd()) {
+                console.debug("show motd");
                 showMotd();
             } else {
                 loader.source = "MainView.qml"
diff --git a/pkg/config/version/checknewer.go b/pkg/config/version/checknewer.go
index 115696ac3723df6ef5ed7242aaaf3675f0c2371d..f253877d54407016124f8ec0ff446b4de7d71445 100644
--- a/pkg/config/version/checknewer.go
+++ b/pkg/config/version/checknewer.go
@@ -17,6 +17,9 @@ const verURI = "https://downloads.leap.se/RiseupVPN/"
 // at the moment, we hardcode RiseupVPN in the path, assuming that all clients
 // stay in sync.
 func CanUpgrade() bool {
+	if os.Getenv("SKIP_VERSION_CHECK") == "1" {
+		return false
+	}
 	log.Println("Checking for updates...")
 	uri := verURI
 	switch runtime.GOOS {