diff --git a/sickbeard/providers/extratorrent.py b/sickbeard/providers/extratorrent.py
index af53d85f14ffe51ddd3ecb21880d96513da12bad..dde81e33b8c7bcdd23278b2e75cf93b825b7f8ca 100644
--- a/sickbeard/providers/extratorrent.py
+++ b/sickbeard/providers/extratorrent.py
@@ -83,7 +83,7 @@ class ExtraTorrentProvider(generic.TorrentProvider):
 
                     try:
                         # Must replace non-breaking space, as there is no xml DTD
-                        data = xmltodict.parse(HTMLParser.HTMLParser().unescape(data))
+                        data = xmltodict.parse(HTMLParser.HTMLParser().unescape(data).replace('&', '&'))
                     except ExpatError as e:
                         logger.log(u"Failed parsing provider. Traceback: %r\n%r" % (traceback.format_exc(), data), logger.ERROR)
                         continue
diff --git a/sickbeard/providers/kat.py b/sickbeard/providers/kat.py
index a3134dcd4e43b74d95817895486f976fc0107ff5..f25a250c9e11fda37b1775e7c134bd7be637dd41 100644
--- a/sickbeard/providers/kat.py
+++ b/sickbeard/providers/kat.py
@@ -97,7 +97,7 @@ class KATProvider(generic.TorrentProvider):
                         continue
 
                     try:
-                        data = xmltodict.parse(HTMLParser.HTMLParser().unescape(data))
+                        data = xmltodict.parse(HTMLParser.HTMLParser().unescape(data).replace('&', '&'))
                     except ExpatError as e:
                         logger.log(u"Failed parsing provider. Traceback: %r\n%r" % (traceback.format_exc(), data), logger.ERROR)
                         continue