diff --git a/src/matrix/SessionContainer.js b/src/matrix/SessionContainer.js
index 85a6826d..57752309 100644
--- a/src/matrix/SessionContainer.js
+++ b/src/matrix/SessionContainer.js
@@ -43,6 +43,14 @@ export const LoginFailure = createEnum(
     "Unknown",
 );
 
+function normalizeHomeserver(homeServer) {
+    try {
+        return new URL(homeServer).origin;
+    } catch (err) {
+        return new URL(`https://${homeServer}`).origin;
+    }
+}
+
 export class SessionContainer {
     constructor({platform, olmPromise, workerPromise}) {
         this._platform = platform;
@@ -96,6 +104,7 @@ export class SessionContainer {
         }
         await this._platform.logger.run("login", async log => {
             this._status.set(LoadStatus.Login);
+            homeServer = normalizeHomeserver(homeServer);
             const clock = this._platform.clock;
             let sessionInfo;
             try {