diff --git a/CHANGES.md b/CHANGES.md
index 99c9af770a9876065fea0194d132443847ec5100..8a38a49f08c172797bedcc335b6d9e2ab11e1535 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -68,6 +68,7 @@
 * Fix progress sort direction for poster layout view on home page
 * Fix invalid use of str() in the Send2Trash library for platforms other
 * Fix dropdown confirm dialogs for restart and shutdown
+* Fix parsing utf8 data from tvdb and tvrage
 
 
 ### 0.2.1 (2014-10-22 06:41:00 UTC)
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index 6b64c82da819aa6e46cc5c802ddff33bb21efab5..00a3bf89f370f960c1642170360619665dc8af58 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -619,10 +619,9 @@ class Tvdb:
                     raise tvdb_error("Bad zip file received from thetvdb.com, could not read it")
             else:
                 try:
-                    return xmltodict.parse(resp.content.strip().encode('utf-8'), postprocessor=process)
-                except:
                     return xmltodict.parse(resp.content.strip(), postprocessor=process)
-
+                except:
+                    return dict([(u'data', None)])
 
     def _getetsrc(self, url, params=None, language=None):
         """Loads a URL using caching, returns an ElementTree of the source
diff --git a/lib/tvrage_api/tvrage_api.py b/lib/tvrage_api/tvrage_api.py
index cfde40816862a8dc51bf20fda6786208053c02be..9b65278afd1229c1c570faa819f5fff2d5560dea 100644
--- a/lib/tvrage_api/tvrage_api.py
+++ b/lib/tvrage_api/tvrage_api.py
@@ -479,9 +479,9 @@ class TVRage:
 
         if resp.ok:
             try:
-                return xmltodict.parse(resp.content.strip().encode('utf-8'), postprocessor=remap_keys)
-            except:
                 return xmltodict.parse(resp.content.strip(), postprocessor=remap_keys)
+            except:
+                return dict([(u'data', None)])
 
     def _getetsrc(self, url, params=None):
         """Loads a URL using caching, returns an ElementTree of the source