diff --git a/addon.xml b/addon.xml
index 2a5464fc09cd55a8f14f91f6847c1c5c1caf93a2..c2cf51553cb019268847e25692828398fa8b6a28 100644
--- a/addon.xml
+++ b/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="script.spotify.screensaver"
     name="Spotify Screensaver"
-    version="0.0.11"
+    version="0.0.12"
     provider-name="BenoƮt Harrault">
     <requires>
         <import addon="xbmc.python" version="2.25.0"/>
diff --git a/gui.py b/gui.py
index 8c4d591c53935f2e4494f55d7c97d18d6fb564e4..ca0fc98a1f8732b81227bf5341823ee2fecc8e62 100644
--- a/gui.py
+++ b/gui.py
@@ -161,8 +161,9 @@ class GUI(xbmcgui.WindowXMLDialog):
         self.PanelItems = self.getControl(101)
         self.PanelItems.reset()
 
-    def _get_track_data(self, track_id):
+    def _get_track_data(self, track_id, try_count=1):
         self.log('track_id: [' + str(track_id) + ']')
+        self.log('(try: ' + str(try_count) + ')')
 
         imageLST = []
 
@@ -186,6 +187,14 @@ class GUI(xbmcgui.WindowXMLDialog):
             if album is None:
                 self.log('failed to get album from API', xbmc.LOGERROR)
                 self.log(json.dumps(data), xbmc.LOGERROR)
+
+                if json.dumps(data) == '{"error": {"status": 401, "message": "The access token expired"}}':
+                    self.log('trying to refresh access token')
+                    self._init_spotify_access_token()
+                    self.log('retry get image')
+                    self._get_track_data(track_id, try_count + 1)
+                else:
+                    self.log('unknown error getting image', xbmc.LOGERROR)
             else:
                 self.log('ok got album from API')
                 self.log(json.dumps(album))