diff --git a/gui/slick/js/core.js b/gui/slick/js/core.js
index ca1c245579f54bddc152564e7b58c2d32cb36d23..41e1ee15bd5bc87ddcc27ddadcd422aba636744d 100644
--- a/gui/slick/js/core.js
+++ b/gui/slick/js/core.js
@@ -2794,6 +2794,10 @@ var SICKRAGE = {
                     });
                 });
 
+                $('#traktlistselection').on('change', function() {
+                    window.location.href = srRoot + '/addShows/trendingShows/?traktList=' + this.value;
+                });
+
                 $('#container').imagesLoaded(function() {
                     $('#container').isotope({
                         sortBy: 'original-order',
@@ -3135,8 +3139,10 @@ var SICKRAGE = {
             );
         },
         trendingShows: function(){
+            var traktList = $('#traktList').val();
+
             $('#trendingShows').loadRemoteShows(
-                '/addShows/getTrendingShows/',
+                '/addShows/getTrendingShows/?traktList=' + traktList,
                 'Loading trending shows...',
                 'Trakt timed out, refresh page to try again'
             );
diff --git a/gui/slick/js/core.min.js b/gui/slick/js/core.min.js
index 01fceaea955eaee788560d372e33a918b79d996f..f63475a1031f0e714e1529808b520c024362f554 100644
Binary files a/gui/slick/js/core.min.js and b/gui/slick/js/core.min.js differ
diff --git a/gui/slick/views/addShows.mako b/gui/slick/views/addShows.mako
index 8a71497e428b34ca9b03919428f631b2c91c78d2..4a3e118ed88741baf25717600395156812709d20 100644
--- a/gui/slick/views/addShows.mako
+++ b/gui/slick/views/addShows.mako
@@ -19,32 +19,22 @@
             <p>For shows that you haven't downloaded yet, this option finds a show on theTVDB.com, creates a directory for it's episodes, and adds it to SickRage.</p>
         </div>
     </a>
-% if sickbeard.USE_TRAKT is True:
+
     <br><br>
-    <a href="${srRoot}/addShows/trendingShows/" id="btnNewShow" class="btn btn-large">
+    <a href="${srRoot}/addShows/trendingShows/?traktList=anticipated" id="btnNewShow" class="btn btn-large">
         <div class="button"><div class="icon-addtrendingshow"></div></div>
         <div class="buttontext">
-            <h3>Add Trending Show</h3>
-            <p>For shows that you haven't downloaded yet, this option lets you choose from a list of current trending shows with ratings to add, creates a directory for its episodes, and adds it to SickRage.</p>
+            <h3>Add From Trakt Lists</h3>
+            <p>For shows that you haven't downloaded yet, this option lets you choose from a show from one of the Trakt lists to add to SickRage .</p>
         </div>
     </a>
 
     <br><br>
 
-    <a href="${srRoot}/addShows/recommendedShows/" id="btnNewShow" class="btn btn-large">
-        <div class="button"><div class="icon-addrecommendedshow"></div></div>
-        <div class="buttontext">
-            <h3>Add Recommended Shows</h3>
-            <p>For shows that you haven't downloaded yet, this option recommends shows to add based on your Trakt.tv show library, creates a directory for its episodes, and adds it to SickRage.</p>
-        </div>
-    </a>
-% endif
-    <br><br>
-
     <a href="${srRoot}/addShows/popularShows/" id="btnNewShow" class="btn btn-large">
-        <div class="button"><div class="icon-addtrendingshow"></div></div>
+        <div class="button"><div class="icon-addrecommendedshow"></div></div>
         <div class="buttontext">
-            <h3>View Popular Shows</h3>
+            <h3>Add From IMDB's Popular Shows</h3>
             <p>View IMDB's list of the most popular shows. This feature uses IMDB's MOVIEMeter algorithm to identify popular TV Series.</p>
         </div>
     </a>
diff --git a/gui/slick/views/addShows_recommendedShows.mako b/gui/slick/views/addShows_recommendedShows.mako
deleted file mode 100644
index 97c530e7b65a12d884ef4fe8654319ee27f6989e..0000000000000000000000000000000000000000
--- a/gui/slick/views/addShows_recommendedShows.mako
+++ /dev/null
@@ -1,48 +0,0 @@
-<%inherit file="/layouts/main.mako"/>
-<%!
-    import sickbeard
-%>
-<%block name="scripts">
-<script type="text/javascript" src="${srRoot}/js/rootDirs.js?${sbPID}"></script>
-<script type="text/javascript" src="${srRoot}/js/plotTooltip.js?${sbPID}"></script>
-</%block>
-<%block name="content">
-% if not header is UNDEFINED:
-    <h1 class="header">${header}</h1>
-% else:
-    <h1 class="title">${title}</h1>
-% endif
-
-<div id="tabs">
-    <ul>
-        <li><a href="#tabs-1">Manage Directories</a></li>
-        <li><a href="#tabs-2">Customize Options</a></li>
-    </ul>
-    <div id="tabs-1" class="existingtabs">
-        <%include file="/inc_rootDirs.mako"/>
-    </div>
-    <div id="tabs-2" class="existingtabs">
-        <%include file="/inc_addShowOptions.mako"/>
-    </div>
-    <br>
-
-    <span>Sort By:</span>
-    <select id="showsort" class="form-control form-control-inline input-sm">
-        <option value="name">Name</option>
-        <option value="original" selected="selected">Original</option>
-        <option value="votes">Votes</option>
-        <option value="rating">% Rating</option>
-        <option value="rating_votes">% Rating > Votes</option>
-    </select>
-
-    <span style="margin-left:12px">Sort Order:</span>
-    <select id="showsortdirection" class="form-control form-control-inline input-sm">
-        <option value="asc" selected="selected">Asc</option>
-        <option value="desc">Desc</option>
-    </select>
-</div>
-
-<br>
-<div id="recommendedShows"></div>
-<br>
-</%block>
diff --git a/gui/slick/views/addShows_trendingShows.mako b/gui/slick/views/addShows_trendingShows.mako
index 6027ffbba3e18122e5c81bff2c4bdca9263db8ac..408a3c86dfc12d6ff3bbd4d9925b1d16ebc5edb5 100644
--- a/gui/slick/views/addShows_trendingShows.mako
+++ b/gui/slick/views/addShows_trendingShows.mako
@@ -1,12 +1,6 @@
 <%inherit file="/layouts/main.mako"/>
 <%!
     import sickbeard
-    import datetime
-    import re
-    from sickbeard.common import SKIPPED, WANTED, UNAIRED, ARCHIVED, IGNORED, SNATCHED, SNATCHED_PROPER, SNATCHED_BEST, FAILED
-    from sickbeard.common import Quality, qualityPresets, qualityPresetStrings
-    from sickbeard import sbdatetime
-    from sickbeard.helpers import anon_url
 %>
 <%block name="scripts">
 <script type="text/javascript" src="${srRoot}/js/rootDirs.js?${sbPID}"></script>
@@ -46,9 +40,26 @@
         <option value="asc" selected="selected">Asc</option>
         <option value="desc">Desc</option>
     </select>
+
+    <span style="margin-left:12px">Select Trakt List:</span>
+    <select id="traktlistselection" class="form-control form-control-inline input-sm">
+        <option value="anticipated" ${' selected="selected"' if traktList == "anticipated" else ''}>Most Anticipated</option>
+        <option value="trending" ${' selected="selected"' if traktList == "trending" else ''}>Trending</option>
+        <option value="popular" ${' selected="selected"' if traktList == "popular" else ''}>Popular</option>
+        <option value="watched" ${' selected="selected"' if traktList == "watched" else '' }>Most Watched</option>
+        <option value="played" ${' selected="selected"' if traktList == "played" else '' }>Most Played</option>
+        <option value="collected" ${' selected="selected"' if traktList == "collected" else ''}>Most Collected</option>
+% if sickbeard.TRAKT_ACCESS_TOKEN:
+        <option value="recommended"  ${' selected="selected"' if traktList == "recommended" else ''}>Recommended</option>
+% endif
+    </select>
 </div>
 
 <br>
 <div id="trendingShows"></div>
 <br>
+
+% if traktList:
+    <input type="hidden" name="traktList" id="traktList" value="${traktList}" />
+% endif
 </%block>
diff --git a/gui/slick/views/trendingShows.mako b/gui/slick/views/trendingShows.mako
index 02ecd3a378e8f36c69db1881667d5573ffeddbbe..8dadb403549420755e3232896c02c12cae399377 100644
--- a/gui/slick/views/trendingShows.mako
+++ b/gui/slick/views/trendingShows.mako
@@ -1,11 +1,6 @@
 <%inherit file="/layouts/main.mako"/>
 <%!
     import sickbeard
-    import datetime
-    import re
-    from sickbeard.common import SKIPPED, WANTED, UNAIRED, ARCHIVED, IGNORED, SNATCHED, SNATCHED_PROPER, SNATCHED_BEST, FAILED
-    from sickbeard.common import Quality, qualityPresets, qualityPresetStrings
-    from sickbeard import sbdatetime
     from sickbeard.helpers import anon_url
 %>
 <%block name="metas">
@@ -24,10 +19,16 @@
 % for cur_show in trending_shows:
     <% show_url = 'http://www.trakt.tv/shows/%s' % cur_show['show']['ids']['slug'] %>
 
+% if 'poster' in cur_show['show']['images'] and cur_show['show']['images']['poster']['thumb']:
+    <% poster_url = cur_show['show']['images']['poster']['thumb'] %>
+% else:
+    <% poster_url = 'http://www.trakt.tv/assets/placeholders/thumb/poster-2d5709c1b640929ca1ab60137044b152.png' %>
+% endif
+
     <div class="trakt_show" data-name="${cur_show['show']['title']}" data-rating="${cur_show['show']['rating']}" data-votes="${cur_show['show']['votes']}">
         <div class="traktContainer">
             <div class="trakt-image">
-                <a class="trakt-image" href="${anon_url(show_url)}" target="_blank"><img alt="" class="trakt-image" src="${cur_show['show']['images']['poster']['thumb']}" /></a>
+                <a class="trakt-image" href="${anon_url(show_url)}" target="_blank"><img alt="" class="trakt-image" src="${poster_url}" /></a>
             </div>
 
             <div class="show-title">
diff --git a/lib/libtrakt/trakt.py b/lib/libtrakt/trakt.py
index 951f39a824ae329acde417757fd2ecd2097dcb79..06918228040034c16eb55557380824567dc2b431 100644
--- a/lib/libtrakt/trakt.py
+++ b/lib/libtrakt/trakt.py
@@ -7,7 +7,8 @@ from sickbeard import logger
 
 from exceptions import traktException, traktAuthException, traktServerBusy
 
-class TraktAPI():
+
+class TraktAPI:
     def __init__(self, ssl_verify=True, timeout=30):
         self.session = requests.Session()
         self.verify = certifi.where() if ssl_verify else False
@@ -28,8 +29,6 @@ class TraktAPI():
         elif count > 0:
             time.sleep(2)
 
-
-
         data = {
             'client_id': sickbeard.TRAKT_API_KEY,
             'client_secret': sickbeard.TRAKT_API_SECRET,
@@ -66,19 +65,20 @@ class TraktAPI():
         return False
        
     def traktRequest(self, path, data=None, headers=None, url=None, method='GET', count=0):
-        if None == url:
+        if url is None:
             url = self.api_url
        
         count = count + 1
        
-        if None == headers:
+        if headers is None:
             headers = self.headers
        
-        if None == sickbeard.TRAKT_ACCESS_TOKEN:
+        if sickbeard.TRAKT_ACCESS_TOKEN == '' and count >= 2:
             logger.log(u'You must get a Trakt TOKEN. Check your Trakt settings', logger.WARNING)
             return {}
 
-        headers['Authorization'] = 'Bearer ' + sickbeard.TRAKT_ACCESS_TOKEN
+        if sickbeard.TRAKT_ACCESS_TOKEN != '':
+            headers['Authorization'] = 'Bearer ' + sickbeard.TRAKT_ACCESS_TOKEN
 
         try:
             resp = self.session.request(method, url + path, headers=headers, timeout=self.timeout,
@@ -108,7 +108,7 @@ class TraktAPI():
                 else:
                     logger.log(u'Unauthorized. Please check your Trakt settings', logger.WARNING)
             elif code in (500,501,503,504,520,521,522):
-                #http://docs.trakt.apiary.io/#introduction/status-codes
+                # http://docs.trakt.apiary.io/#introduction/status-codes
                 logger.log(u'Trakt may have some issues and it\'s unavailable. Try again later please', logger.DEBUG)
             elif code == 404:
                 logger.log(u'Trakt error (404) the resource does not exist: %s' % url + path, logger.ERROR)
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index b8ffe3c10e0bf5fd19305fe81ea76caa2742d648..6f1b4de05360f1d05bf07dd1ce7fb1eb70def17a 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -2455,74 +2455,64 @@ class HomeAddShows(Home):
             controller="addShows", action="newShow"
         )
 
-    def recommendedShows(self):
+    def trendingShows(self, traktList=None):
         """
         Display the new show page which collects a tvdb id, folder, and extra options and
         posts them to addNewShow
         """
-        t = PageTemplate(rh=self, filename="addShows_recommendedShows.mako")
-        return t.render(title="Recommended Shows", header="Recommended Shows",
-                        enable_anime_options=False,
-                        controller="addShows", action="recommendedShows")
-
-    def getRecommendedShows(self):
-        t = PageTemplate(rh=self, filename="trendingShows.mako")
-
-        trending_shows = []
-
-        trakt_api = TraktAPI(sickbeard.SSL_VERIFY, sickbeard.TRAKT_TIMEOUT)
-
-        try:
-            not_liked_show = ""
-            if sickbeard.TRAKT_BLACKLIST_NAME is not None and sickbeard.TRAKT_BLACKLIST_NAME:
-                not_liked_show = trakt_api.traktRequest("users/" + sickbeard.TRAKT_USERNAME + "/lists/" + sickbeard.TRAKT_BLACKLIST_NAME + "/items") or []
-            else:
-                logger.log(u"trending blacklist name is empty", logger.DEBUG)
-
-            shows = trakt_api.traktRequest("recommendations/shows?extended=full,images") or []
-
-            library_shows = trakt_api.traktRequest("sync/collection/shows?extended=full") or []
-
-            for show_detail in shows:
-                show = {'show': show_detail}
-                try:
-                    if not Show.find(sickbeard.showList, [int(show['show']['ids']['tvdb'])]):
-                        if show['show']['ids']['tvdb'] not in (lshow['show']['ids']['tvdb'] for lshow in library_shows):
-                            if not_liked_show:
-                                if show['show']['ids']['tvdb'] not in (show['show']['ids']['tvdb'] for show in not_liked_show if show['type'] == 'show'):
-                                    trending_shows += [show]
-                            else:
-                                trending_shows += [show]
-
-                except MultipleShowObjectsException:
-                    continue
-
-            if sickbeard.TRAKT_BLACKLIST_NAME != '':
-                blacklist = True
-            else:
-                blacklist = False
-
-        except traktException as e:
-            logger.log(u"Could not connect to Trakt service: %s" % ex(e), logger.WARNING)
-
-        return t.render(title="Trending Shows", header="Trending Shows", trending_shows=trending_shows, blacklist=blacklist)
+        if traktList is None:
+            traktList = ""
+
+        traktList = traktList.lower()
+
+        if traktList == "trending":
+            page_title = "Trending Shows"
+        elif traktList == "popular":
+            page_title = "Popular Shows"
+        elif traktList == "anticipated":
+            page_title = "Most Anticipated Shows"
+        elif traktList == "collected":
+            page_title = "Most Collected Shows"
+        elif traktList == "watched":
+            page_title = "Most Watched Shows"
+        elif traktList == "played":
+            page_title = "Most Played Shows"
+        elif traktList == "recommended":
+            page_title = "Recommended Shows"
+        else:
+            page_title = "Most Anticipated Shows"
 
-    def trendingShows(self):
-        """
-        Display the new show page which collects a tvdb id, folder, and extra options and
-        posts them to addNewShow
-        """
         t = PageTemplate(rh=self, filename="addShows_trendingShows.mako")
-        return t.render(title="Trending Shows", header="Trending Shows",
-                        enable_anime_options=False,
-                        controller="addShows", action="trendingShows")
+        return t.render(title=page_title, header=page_title, enable_anime_options=False,
+                        traktList=traktList, controller="addShows", action="trendingShows")
 
-    def getTrendingShows(self):
+    def getTrendingShows(self, traktList=None):
         """
         Display the new show page which collects a tvdb id, folder, and extra options and
         posts them to addNewShow
         """
         t = PageTemplate(rh=self, filename="trendingShows.mako")
+        if traktList is None:
+            traktList = ""
+
+        traktList = traktList.lower()
+
+        if traktList == "trending":
+            page_url = "shows/trending"
+        elif traktList == "popular":
+            page_url = "shows/popular"
+        elif traktList == "anticipated":
+            page_url = "shows/anticipated"
+        elif traktList == "collected":
+            page_url = "shows/collected"
+        elif traktList == "watched":
+            page_url = "shows/watched"
+        elif traktList == "played":
+            page_url = "shows/played"
+        elif traktList == "recommended":
+            page_url = "recommendations/shows"
+        else:
+            page_url = "shows/anticipated"
 
         trending_shows = []
 
@@ -2530,20 +2520,37 @@ class HomeAddShows(Home):
 
         try:
             not_liked_show = ""
-            if sickbeard.TRAKT_BLACKLIST_NAME is not None and sickbeard.TRAKT_BLACKLIST_NAME:
-                not_liked_show = trakt_api.traktRequest("users/" + sickbeard.TRAKT_USERNAME + "/lists/" + sickbeard.TRAKT_BLACKLIST_NAME + "/items") or []
+            if sickbeard.TRAKT_ACCESS_TOKEN != '':
+                library_shows = trakt_api.traktRequest("sync/collection/shows?extended=full") or []
+                if sickbeard.TRAKT_BLACKLIST_NAME is not None and sickbeard.TRAKT_BLACKLIST_NAME:
+                    not_liked_show = trakt_api.traktRequest("users/" + sickbeard.TRAKT_USERNAME + "/lists/" + sickbeard.TRAKT_BLACKLIST_NAME + "/items") or []
+                else:
+                    logger.log(u"Trakt blacklist name is empty", logger.DEBUG)
+
+            if traktList != "recommended":
+                limit_show = "?limit=" + str(50 + len(not_liked_show)) + "&"
             else:
-                logger.log(u"trending blacklist name is empty", logger.DEBUG)
+                limit_show = "?"
 
-            limit_show = 50 + len(not_liked_show)
+            shows = trakt_api.traktRequest(page_url + limit_show + "extended=full,images") or []
 
-            shows = trakt_api.traktRequest("shows/trending?limit=" + str(limit_show) + "&extended=full,images") or []
+            if sickbeard.TRAKT_ACCESS_TOKEN != '':
+                library_shows = trakt_api.traktRequest("sync/collection/shows?extended=full") or []
 
-            library_shows = trakt_api.traktRequest("sync/collection/shows?extended=full") or []
             for show in shows:
                 try:
+                    if 'show' not in show:
+                        show['show'] = show
+
                     if not Show.find(sickbeard.showList, [int(show['show']['ids']['tvdb'])]):
-                        if show['show']['ids']['tvdb'] not in (lshow['show']['ids']['tvdb'] for lshow in library_shows):
+                        if sickbeard.TRAKT_ACCESS_TOKEN != '':
+                            if show['show']['ids']['tvdb'] not in (lshow['show']['ids']['tvdb'] for lshow in library_shows):
+                                if not_liked_show:
+                                    if show['show']['ids']['tvdb'] not in (show['show']['ids']['tvdb'] for show in not_liked_show if show['type'] == 'show'):
+                                        trending_shows += [show]
+                                else:
+                                    trending_shows += [show]
+                        else:
                             if not_liked_show:
                                 if show['show']['ids']['tvdb'] not in (show['show']['ids']['tvdb'] for show in not_liked_show if show['type'] == 'show'):
                                     trending_shows += [show]