diff --git a/jellyfin_kodi/connect.py b/jellyfin_kodi/connect.py
index 2e95bc2b..641d1f5d 100644
--- a/jellyfin_kodi/connect.py
+++ b/jellyfin_kodi/connect.py
@@ -119,6 +119,10 @@ class Connect(object):
                 if 'ExchangeToken' not in state['Servers'][0]:
                     self.login()
 
+            elif state['State'] == CONNECTION_STATE['Unavailable'] and state['Status_Code'] == 401:
+                # If the saved credentials don't work, restart the addon to force the password dialog to open
+                window('jellyfin.restart', clear=True)
+
             elif state['State'] == CONNECTION_STATE['Unavailable']:
                 raise HTTPException('ServerUnreachable', {})
 
diff --git a/jellyfin_kodi/jellyfin/api.py b/jellyfin_kodi/jellyfin/api.py
index 48c8f023..686588b3 100644
--- a/jellyfin_kodi/jellyfin/api.py
+++ b/jellyfin_kodi/jellyfin/api.py
@@ -430,7 +430,11 @@ class API(object):
         headers.update(auth_token_header)
 
         response = self.send_request(server['address'], "system/info", headers=headers)
-        return response.json() if response.status_code == 200 else {}
+
+        if response.status_code == 200:
+            return response.json()
+        else:
+            return response.status_code
 
     def get_public_info(self, server_address):
         response = self.send_request(server_address, "system/info/public")
diff --git a/jellyfin_kodi/jellyfin/connection_manager.py b/jellyfin_kodi/jellyfin/connection_manager.py
index d6e87115..a23ef4f3 100644
--- a/jellyfin_kodi/jellyfin/connection_manager.py
+++ b/jellyfin_kodi/jellyfin/connection_manager.py
@@ -309,7 +309,7 @@ class ConnectionManager(object):
 
         elif verify_authentication and server.get('AccessToken'):
             system_info = self.API.validate_authentication_token(server)
-            if system_info:
+            if system_info and type(system_info) == dict:
 
                 self._update_server_info(server, system_info)
                 self.config.data['auth.user_id'] = server['UserId']
@@ -319,7 +319,9 @@ class ConnectionManager(object):
 
             server['UserId'] = None
             server['AccessToken'] = None
-            return {'State': CONNECTION_STATE['Unavailable']}
+            return {
+                'State': CONNECTION_STATE['Unavailable'],
+                'Status_Code': system_info}
 
         self._update_server_info(server, system_info)