diff --git a/sickbeard/providers/iptorrents.py b/sickbeard/providers/iptorrents.py
index 1a7298bfff8d2564dc9c6b38977f92293b28b41f..60ad854037325b5564984e812ef5fc5ed7bd6960 100644
--- a/sickbeard/providers/iptorrents.py
+++ b/sickbeard/providers/iptorrents.py
@@ -26,6 +26,7 @@ from sickbeard import tvcache
 from sickbeard import show_name_helpers
 from sickbeard.common import Overview 
 from sickbeard.exceptions import ex
+from sickbeard import clients
 from lib import requests
 from bs4 import BeautifulSoup
 from lib.unidecode import unidecode
@@ -225,6 +226,10 @@ class IPTorrentsProvider(generic.TorrentProvider):
             logger.log(u"Error loading " + self.name + " URL: " + ex(e), logger.ERROR)
             return None
 
+        if r.status_code != 200:
+            logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING)
+            return None
+
         return response.content
        
 class IPTorrentsCache(tvcache.TVCache):
diff --git a/sickbeard/providers/kat.py b/sickbeard/providers/kat.py
index 59e44187922a4d01d88c862123fdcbf5aa1998a6..0c521cb96e37f48ad57be7777508540be851f4e8 100644
--- a/sickbeard/providers/kat.py
+++ b/sickbeard/providers/kat.py
@@ -32,6 +32,7 @@ from sickbeard import helpers
 from sickbeard.show_name_helpers import allPossibleShowNames, sanitizeSceneName
 from sickbeard.exceptions import ex
 from sickbeard import encodingKludge as ek
+from sickbeard import clients
 
 from lib import requests
 from bs4 import BeautifulSoup
@@ -104,7 +105,7 @@ class KATProvider(generic.TorrentProvider):
             return None
         
         try: 
-            soup = BeautifulSoup(data)
+            soup = BeautifulSoup(data, features=["html5lib", "permissive"])
             file_table = soup.find('table', attrs = {'class': 'torrentFileList'})
 
             if not file_table:
@@ -283,12 +284,12 @@ class KATProvider(generic.TorrentProvider):
 
         try:
             r = requests.get(url)
-        except Exception, e:
+        except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
             logger.log(u"Error loading "+self.name+" URL: " + str(sys.exc_info()) + " - " + ex(e), logger.ERROR)
             return None
         
         if r.status_code != 200:
-            logger.log(u"KAT page requested " + url +" returned status code " + str(r.status_code), logger.DEBUG)
+            logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING)
             return None
             
         return r.content
@@ -327,23 +328,6 @@ class KATProvider(generic.TorrentProvider):
         logger.log(u"Saved magnet link to " + magnetFileName + " ", logger.MESSAGE)
         return True
 
-    def dumpHTML(self, data):
-        
-        import datetime
-        
-        fileName = 'KAT_' + datetime.datetime.now().strftime("%y%m%d_%H%M%S") + '.html'
-        dumpName = ek.ek(os.path.join, sickbeard.CACHE_DIR, fileName)
-
-        try:    
-            fileOut = open(dumpName, 'wb')
-            fileOut.write(data)
-            fileOut.close()
-            helpers.chmodAsParent(dumpName)
-        except IOError, e:
-            logger.log("Unable to save the file: " + ex(e), logger.ERROR)
-            return False
-        logger.log(u"Saved kat html dump " + dumpName, logger.MESSAGE)
-        return True
 
 class KATCache(tvcache.TVCache):
 
diff --git a/sickbeard/providers/torrentleech.py b/sickbeard/providers/torrentleech.py
index 759d37596c32fb1438be3c3ff4466e48757e2174..4637d3b6067f614ada9da8d6fb80923d20a0c09d 100644
--- a/sickbeard/providers/torrentleech.py
+++ b/sickbeard/providers/torrentleech.py
@@ -26,6 +26,7 @@ from sickbeard import tvcache
 from sickbeard import show_name_helpers
 from sickbeard.common import Overview 
 from sickbeard.exceptions import ex
+from sickbeard import clients
 from lib import requests
 from bs4 import BeautifulSoup
 from lib.unidecode import unidecode
@@ -219,6 +220,10 @@ class TorrentLeechProvider(generic.TorrentProvider):
             logger.log(u"Error loading "+self.name+" URL: " + ex(e), logger.ERROR)
             return None
 
+        if r.status_code != 200:
+            logger.log(self.name + u" page requested with url " + url +" returned status code is" + str(r.status_code) + ': ' + clients.http_error_code[r.status_code], logger.WARNING)
+            return None
+
         return response.content
        
 class TorrentLeechCache(tvcache.TVCache):