diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py
index dbca1a58e24496180e514648399685778bf29f8e..dc00696bcc94cfd4378c87502e075db13fc3f3c9 100644
--- a/sickbeard/providers/generic.py
+++ b/sickbeard/providers/generic.py
@@ -291,11 +291,11 @@ class GenericProvider:
         Returns: A tuple containing two strings representing title and URL respectively
         """
 
-        title = item.get('title')
+        title = item.get('title', '')
         if title:
             title = u'' + title.replace(' ', '.')
 
-        url = item.get('link')
+        url = item.get('link', '')
         if url:
             url = url.replace('&', '&').replace('%26tr%3D', '&tr=')
 
@@ -303,18 +303,8 @@ class GenericProvider:
 
     def _get_size(self, item):
         """Gets the size from the item"""
-        if self.providerType != GenericProvider.NZB:
-            logger.log(u"Torrent Generic providers doesn't have _get_size() implemented yet", logger.DEBUG)
-            return -1
-        else:
-            size = item.get('links')[1].get('length')
-            if size:
-                size = int(size)
-                return size
-            else:
-                logger.log(u"Size was not found in your provider response", logger.DEBUG)
-                return -1
-
+        logger.log(u"Provider type doesn't have _get_size() implemented yet", logger.ERROR)
+        return -1
 
     def findSearchResults(self, show, episodes, search_mode, manualSearch=False, downCurQuality=False):
 
@@ -549,6 +539,17 @@ class NZBProvider(GenericProvider):
 
         self.providerType = GenericProvider.NZB
 
+    def _get_size(self, item):
+        try:
+            size = item.get('links')[1].get('length', -1)
+        except IndexError:
+            size = -1
+
+        if not size:
+            logger.log(u"Size was not found in your provider response", logger.DEBUG)
+
+        return int(size)
+
 
 class TorrentProvider(GenericProvider):
     def __init__(self, name):