diff --git a/gui/slick/interfaces/default/home.tmpl b/gui/slick/interfaces/default/home.tmpl
index 378b831cb771a2a82a162844a25523928f55be20..12cf6a9597c71ac8134bbd0f5720b6455c8b5636 100644
--- a/gui/slick/interfaces/default/home.tmpl
+++ b/gui/slick/interfaces/default/home.tmpl
@@ -9,7 +9,7 @@
 #set global $sbPath = ".."
 
 #set global $topmenu="home"#
-#import os.pat
+#import os.path
 #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
 
 #set $myDB = $db.DBConnection()
diff --git a/sickbeard/providers/thepiratebay.py b/sickbeard/providers/thepiratebay.py
index 8e3c3ab7ce2f3aa29ce66709bb5a6fd5106b60e2..b982c37b5ab1118b4d99dbcab0c2322aecd2407e 100644
--- a/sickbeard/providers/thepiratebay.py
+++ b/sickbeard/providers/thepiratebay.py
@@ -61,9 +61,9 @@ class ThePirateBayProvider(generic.TorrentProvider):
 
         self.proxy = ThePirateBayWebproxy()
 
-        self.url = 'http://pirateproxy.net/'
+        self.url = 'https://oldpiratebay.org/'
 
-        self.searchurl = self.url + 'search/%s/0/7/200'  # order by seed       
+        self.searchurl = self.url + 'search.php?q=%s&Torrent_sort=seeders.desc' # order by seed
 
         self.re_title_url = '/torrent/(?P<id>\d+)/(?P<title>.*?)//1".+?(?P<url>magnet.*?)//1".+?(?P<seeders>\d+)</td>.+?(?P<leechers>\d+)</td>'
 
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index 12055950b99a5e57fb6c380c89716e849fe1745c..fbf41c22845b94df18d55809a053690e3ea1b987 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -1777,9 +1777,6 @@ class Home(WebRoot):
     # Possible status: Downloaded, Snatched, etc...
     # Returns {'show': 279530, 'episodes' : ['episode' : 6, 'season' : 1, 'searchstatus' : 'queued', 'status' : 'running', 'quality': '4013']
     def getManualSearchStatus(self, show=None, season=None):
-
-        episodes = []
-
         def getEpisodes(searchThread, searchstatus):
             results = []
 
@@ -1801,33 +1798,36 @@ class Home(WebRoot):
 
             return results
 
+        episodes = []
+
         # Queued Searches
+        searchstatus = 'queued'
         for searchThread in sickbeard.searchQueueScheduler.action.get_all_ep_from_queue(show):
-            episodes += getEpisodes(searchThread, 'queued')
+            episodes += getEpisodes(searchThread, searchstatus)
 
         # Running Searches
+        searchstatus = 'searching'
         if (sickbeard.searchQueueScheduler.action.is_manualsearch_in_progress()):
             searchThread = sickbeard.searchQueueScheduler.action.currentItem
+
             if searchThread.success:
                 searchstatus = 'finished'
-            else:
-                searchstatus = 'searching'
+
             episodes += getEpisodes(searchThread, searchstatus)
 
         # Finished Searches
+        searchstatus = 'finished'
         for searchThread in sickbeard.search_queue.MANUAL_SEARCH_HISTORY:
+            if not int(searchThread.show.indexerid) == int(show or 0):
+                continue
+
             if isinstance(searchThread, sickbeard.search_queue.ManualSearchQueueItem):
-                if str(searchThread.show.indexerid) == show and not [x for x in episodes if x[
-                    'episodeindexid'] == searchThread.segment.indexerid]:
-                    searchstatus = 'finished'
+                if not [x for x in episodes if x['episodeindexid'] == searchThread.segment.indexerid]:
                     episodes += getEpisodes(searchThread, searchstatus)
             else:
                 ### These are only Failed Downloads/Retry SearchThreadItems.. lets loop through the segement/episodes
-                if str(searchThread.show.indexerid) == show:
-                    for epObj in searchThread.segment:
-                        if not [x for x in episodes if x['episodeindexid'] == epObj.indexerid]:
-                            searchstatus = 'finished'
-                            episodes += getEpisodes(searchThread, searchstatus)
+                if not [i for i, j in zip(searchThread.segment, episodes) if i.indexerid == j['episodeindexid']]:
+                    episodes += getEpisodes(searchThread, searchstatus)
 
         return json.dumps({'show': show, 'episodes': episodes})