diff --git a/client/src/adapters/auth.ts b/client/src/adapters/auth.ts
index d96373339b0407d006e0ba37dc0e4f4cff63e6dd..c0463a7f22b9e101842fe235b27d51301a449dfb 100644
--- a/client/src/adapters/auth.ts
+++ b/client/src/adapters/auth.ts
@@ -27,15 +27,20 @@ export function clearToken() {
     localStorage.removeItem('access-token');
 }
 
+extendAccessToken();
 setInterval(extendAccessToken, 1000 * 60 * 30);
 
 async function extendAccessToken() {
     if (isLoggedIn()) {
-        const response = await fetch(`${apiRoot}/auth/extend`, { headers: getAuthHeader() });
-        if (response.ok) {
-            const json = await response.json();
-            setToken(json.token);
-        } else if (response.status === 403) {
+        try {
+            const response = await fetch(`${apiRoot}/auth/extend`, { headers: getAuthHeader() });
+            if (response.ok) {
+                const json = await response.json();
+                setToken(json.token);
+            } else if (response.status === 403) {
+                clearToken();
+            }
+        } catch(e) {
             clearToken();
         }
     }