diff --git a/src/preview/HomeServer.js b/src/preview/HomeServer.js
index d0c19dda1b622de92dfd391b6ab4d3c07ad80b2f..3cb91fc5f41d0c342a3715199fa99dc6cedadd68 100644
--- a/src/preview/HomeServer.js
+++ b/src/preview/HomeServer.js
@@ -14,7 +14,12 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
+function noTrailingSlash(url) {
+    return url.endsWith("/") ? url.substr(0, url.length - 1) : url;
+}
+
 export async function resolveServer(request, baseURL) {
+    baseURL = noTrailingSlash(baseURL);
 	if (!baseURL.startsWith("http://") && !baseURL.startsWith("https://")) {
 		baseURL = `https://${baseURL}`;
 	}
@@ -23,7 +28,7 @@ export async function resolveServer(request, baseURL) {
 		if (status === 200) {
 			const proposedBaseURL = body?.['m.homeserver']?.base_url;
 			if (typeof proposedBaseURL === "string") {
-				baseURL = proposedBaseURL;
+				baseURL = noTrailingSlash(proposedBaseURL);
 			}
 		}
 	}