diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index 425a1f8..15d2324 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -355,8 +355,6 @@
 def _simple(av):
     # check if av is a "simple" operator
     lo, hi = av[2].getwidth()
-    #if lo == 0 and hi == MAXREPEAT:
-    #    raise error, "nothing to repeat"
     return lo == hi == 1 and av[2][0][0] != SUBPATTERN
 
 def _compile_info(code, pattern, flags):
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 2be5f5c..8b277cf 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -908,6 +908,16 @@
                                  [b'xyz'], msg=pattern)
 
 
+    def test_bug_2537(self):
+        # issue 2537: empty submatches
+        for outer_op in ('{0,}', '*', '+', '{1,187}'):
+            for inner_op in ('{0,}', '*', '?'):
+                r = re.compile("^((x|y)%s)%s" % (inner_op, outer_op))
+                m = r.match("xyyzy")
+                self.assertEqual(m.group(0), "xyy")
+                self.assertEqual(m.group(1), "")
+                self.assertEqual(m.group(2), "y")
+
 def run_re_tests():
     from test.re_tests import tests, SUCCEED, FAIL, SYNTAX_ERROR
     if verbose:
