diff --git a/sickbeard/name_parser/regexes.py b/sickbeard/name_parser/regexes.py
index eaea3e20da6c3b8e3e6cadbf56e6761decde96d1..ef51b164afd1d76588618f9160897085f1615ff2 100644
--- a/sickbeard/name_parser/regexes.py
+++ b/sickbeard/name_parser/regexes.py
@@ -144,9 +144,9 @@ normal_regexes = [
      r'''
      ^((?P<series_name>.+?)[. _-]+)?             # Show_Name and separator
      (e(p(isode)?)?|part|pt)[. _-]?              # e, ep, episode, or part
-     (?P<ep_num>(\d+|[ivx]+))                    # first ep num
+     (?P<ep_num>(\d+|(?<!e)[ivx]+))                    # first ep num
      ((([. _-]+(and|&|to)[. _-]+)|-)             # and/&/to joiner
-     (?P<extra_ep_num>(?!(1080|720|480)[pi])(\d+|[ivx]+))[. _-])            # second ep num
+     (?P<extra_ep_num>(?!(1080|720|480)[pi])(\d+|(?<!e)[ivx]+))[. _-])            # second ep num
      ([. _-]*(?P<extra_info>.+?)                 # Source_Quality_Etc-
      ((?<![. _-])(?<!WEB)                        # Make sure this is really the release group
      -(?P<release_group>[^- ]+([. _-]\[.*\])?))?)?$              # Group
@@ -160,11 +160,11 @@ normal_regexes = [
      r'''
      ^((?P<series_name>.+?)[. _-]+)?             # Show_Name and separator
      (e(p(isode)?)?|part|pt)[. _-]?              # e, ep, episode, or part
-     (?P<ep_num>(\d+|([ivx]+(?=[. _-]))))                    # first ep num
+     (?P<ep_num>(\d+|((?<!e)[ivx]+(?=[. _-]))))                    # first ep num
      ([. _-]+((and|&|to)[. _-]+)?                # and/&/to joiner
      ((e(p(isode)?)?|part|pt)[. _-]?)           # e, ep, episode, or part
      (?P<extra_ep_num>(?!(1080|720|480)[pi])
-     (\d+|([ivx]+(?=[. _-]))))[. _-])*            # second ep num
+     (\d+|((?<!e)[ivx]+(?=[. _-]))))[. _-])*            # second ep num
      ([. _-]*(?P<extra_info>.+?)                 # Source_Quality_Etc-
      ((?<![. _-])(?<!WEB)                        # Make sure this is really the release group
      -(?P<release_group>[^- ]+([. _-]\[.*\])?))?)?$              # Group
diff --git a/tests/name_parser_tests.py b/tests/name_parser_tests.py
index 70516c20762aabec00860b079b1c352f1de2f68e..7154d75bc039fb796ee9db79c02421cee6c85e46 100644
--- a/tests/name_parser_tests.py
+++ b/tests/name_parser_tests.py
@@ -5,7 +5,7 @@ sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')
 import datetime
 import unittest
 
-import test_lib as test
+from tests import test_lib as test
 
 import sickbeard
 from sickbeard import tv
@@ -67,8 +67,9 @@ simple_test_cases = {
         'show.name.2010.123.source.quality.etc-group': parser.ParseResult(None, 'show name 2010', 1, [23], 'source.quality.etc', 'group'),
         'show.name.2010.222.123.source.quality.etc-group': parser.ParseResult(None, 'show name 2010.222', 1, [23], 'source.quality.etc', 'group'),
         'Show.Name.102': parser.ParseResult(None, 'Show Name', 1, [2]),
-        'the.event.401.hdtv-lol': parser.ParseResult(None, 'the event', 4, [1], 'hdtv', 'lol'),
-        'show.name.2010.special.hdtv-blah': None
+        'the.event.401.hdtv-group': parser.ParseResult(None, 'the event', 4, [1], 'hdtv', 'group'),
+        'show.name.2010.special.hdtv-blah': None,
+        'show.ex-name.102.hdtv-group': parser.ParseResult(None, 'show ex-name', 1, [2], 'hdtv', 'group'),
     },
 
     'stupid': {
@@ -89,7 +90,7 @@ simple_test_cases = {
         'Show.Name.Part.1.and.Part.2.Blah-Group': parser.ParseResult(None, 'Show Name', None, [1, 2], 'Blah', 'Group'),
         'Show.Name.Part.IV.Source.Quality.Etc-Group': parser.ParseResult(None, 'Show Name', None, [4], 'Source.Quality.Etc', 'Group'),
         'Deconstructed.E07.1080i.HDTV.DD5.1.MPEG2-TrollHD': parser.ParseResult(None, 'Deconstructed', None, [7], '1080i.HDTV.DD5.1.MPEG2', 'TrollHD'),
-        'Show.Name.E23.WEB-DL': parser.ParseResult(None, 'Show Name', None, [23], 'WEB-DL')
+        'Show.Name.E23.WEB-DL': parser.ParseResult(None, 'Show Name', None, [23], 'WEB-DL'),
     },
 
     'no_season_multi_ep': {
diff --git a/tests/test_lib.py b/tests/test_lib.py
index f7a44c2ec75453cce50d6e2ec8fb2f3b9c52ba0a..0fc43d5b8457ca6aa8337fa53396127df93f492e 100644
--- a/tests/test_lib.py
+++ b/tests/test_lib.py
@@ -28,8 +28,7 @@ import unittest
 from configobj import ConfigObj
 import sickbeard
 
-from sickbeard import providers, tvcache
-from sickbeard import db
+from sickbeard import db, providers
 from sickbeard.databases import mainDB
 from sickbeard.databases import cache_db, failed_db
 from sickbeard.tv import TVEpisode
@@ -146,7 +145,7 @@ class TestDBConnection(db.DBConnection, object):
         super(TestDBConnection, self).__init__(dbFileName)
 
 class TestCacheDBConnection(TestDBConnection, object):
-     def __init__(self, providerName):
+    def __init__(self, providerName):
         db.DBConnection.__init__(self, os.path.join(TESTDIR, TESTCACHEDBNAME))
 
         # Create the table if it's not already there