diff --git a/android b/android
index 5404e6017..5ca477e3f 160000
--- a/android
+++ b/android
@@ -1 +1 @@
-Subproject commit 5404e60179044de90ad1b3d98e5e45e0efe5820a
+Subproject commit 5ca477e3fb53129803fffb631d5465206fccc1c4
diff --git a/app/land.ts b/app/land.ts
index 18025e500..73a7a9998 100644
--- a/app/land.ts
+++ b/app/land.ts
@@ -4,6 +4,7 @@ import { Utils } from "../src/Utils"
 import { UIEventSource } from "../src/Logic/UIEventSource"
 import { VariableUiElement } from "../src/UI/Base/VariableUIElement"
 import Combine from "../src/UI/Base/Combine"
+import { QueryParameters } from "../src/Logic/Web/QueryParameters"
 
 console.log("Authorizing...")
 const key = Constants.osmAuthConfig.url + "oauth2_state"
@@ -36,6 +37,7 @@ connection.finishLogin(async () => {
         debug.set(dbg)
 
         if (attempt > 10) {
+            QueryParameters.ClearAll()
             window.location.reload()
         }
     } while (!token)
diff --git a/package.json b/package.json
index a0ba998fb..b9a4f4588 100644
--- a/package.json
+++ b/package.json
@@ -154,7 +154,7 @@
     "#": "Android development",
     "android:prepare": "./scripts/prepareAndroid.sh",
     "android:build": "./scripts/buildAndroid.sh",
-    "android:upload": "scp ./android/app/build/outputs/apk/release/app-release.apk hetzner:apk/mapcomplete-latest.apk && scp ./android/app/build/outputs/apk/release/app-release-unsigned.apk hetzner:app/mapcomplete-latest.apk",
+    "android:upload": "scp ./android/app/build/outputs/apk/release/app-release.apk hetzner:apk/mapcomplete-latest.apk && scp ./android/app/build/outputs/apk/release/app-release.apk hetzner:app/mapcomplete-latest.apk",
     "android:uninstall": "adb shell pm uninstall org.mapcomplete"
   },
   "keywords": [
diff --git a/public/assets/SocialImageBannerGoogle.png b/public/assets/SocialImageBannerGoogle.png
new file mode 100644
index 000000000..5dc5ea4d6
Binary files /dev/null and b/public/assets/SocialImageBannerGoogle.png differ
diff --git a/src/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts
index 69a8de5be..0230aa4ee 100644
--- a/src/Logic/Osm/OsmConnection.ts
+++ b/src/Logic/Osm/OsmConnection.ts
@@ -589,7 +589,10 @@ export class OsmConnection {
             // We are probably already logged in
             return
         }
-        const token = await AndroidPolyfill.requestLoginCodes()
+        const tokenPromise = AndroidPolyfill.requestLoginCodes()
+        console.trace("Opening login page")
+        await AndroidPolyfill.openLoginPage()
+        const token = await tokenPromise
         console.log("Got login token!", token)
         localStorage.setItem(key, token)
         if (this.auth.authenticated()) {
diff --git a/src/Logic/Web/AndroidPolyfill.ts b/src/Logic/Web/AndroidPolyfill.ts
index 275b27226..827428a66 100644
--- a/src/Logic/Web/AndroidPolyfill.ts
+++ b/src/Logic/Web/AndroidPolyfill.ts
@@ -70,6 +70,9 @@ export class AndroidPolyfill {
         AndroidPolyfill.backfillGeolocation(AndroidPolyfill.databridgePlugin)
     }
 
+    public static async  openLoginPage(){
+        await DatabridgePluginSingleton.request<{ oauth_token: string }>({ key: "open:login" })
+    }
     public static async requestLoginCodes() {
         const result = await DatabridgePluginSingleton.request<{ oauth_token: string }>({
             key: "request:login",