diff --git a/addon.xml b/addon.xml
index 02179a3b92e75b0ea9f2b4fb615833afb92cd509..17e7f1e0eeee9f82990364fd8b4fa64787019f10 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.15"
+    version="0.0.16"
     provider-name="Benoît Harrault">
     <requires>
         <import addon="xbmc.python" version="2.25.0"/>
diff --git a/gui.py b/gui.py
index e16452524c532e7c3046560b35cdd3346e3934de..23ba4065f4cbe7315435fb13381d8d3b5d37a2d9 100644
--- a/gui.py
+++ b/gui.py
@@ -172,6 +172,9 @@ class GUI(xbmcgui.WindowXMLDialog):
         self.PanelItems = self.getControl(101)
         self.PanelItems.reset()
 
+    def _fix_encoding(self, string):
+        return string.encode('utf-8')
+
     def _get_track_data(self, track_id, try_count=1):
         self.log('track_id: [' + str(track_id) + ']')
         self.log('(try: ' + str(try_count) + ')')
@@ -191,7 +194,7 @@ class GUI(xbmcgui.WindowXMLDialog):
             )
             data = response.json()
 
-            track_data['track_name'] = data.get('name', '')
+            track_data['track_name'] = self._fix_encoding(data.get('name', ''))
             track_data['track_artists'] = []
 
             # album/track image
@@ -229,7 +232,7 @@ class GUI(xbmcgui.WindowXMLDialog):
                             self.log('ok got artist_name from API')
                             self.log(json.dumps(artist_name))
 
-                            track_data['track_artists'].append(artist_name)
+                            track_data['track_artists'].append(self._fix_encoding(artist_name))
 
                 # get images
                 images = album.get('images')
@@ -257,7 +260,7 @@ class GUI(xbmcgui.WindowXMLDialog):
                             self.log(track_image_url)
                             track_data['track_image_url'] = track_image_url
         except Exception as e:
-            self.log('failed to get track data ' + str(e), xbmc.LOGERROR)
+            self.log('failed to get track data: ' + str(e), xbmc.LOGERROR)
 
         return track_data