diff --git a/mercurial/match.py b/mercurial/match.py
index 3d0dd890c525dd99782626dacb46dfa22e2553a1_bWVyY3VyaWFsL21hdGNoLnB5..fcf08023c0113a98bb61652cc8e60627390e166a_bWVyY3VyaWFsL21hdGNoLnB5 100644
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -344,7 +344,7 @@
             r.append('/'.join(root) or '.')
         elif kind in ('relpath', 'path'):
             r.append(name or '.')
-        elif kind == 'relglob':
+        else: # relglob, re, relre
             r.append('.')
     return r
 
diff --git a/tests/test-status.t b/tests/test-status.t
index 3d0dd890c525dd99782626dacb46dfa22e2553a1_dGVzdHMvdGVzdC1zdGF0dXMudA==..fcf08023c0113a98bb61652cc8e60627390e166a_dGVzdHMvdGVzdC1zdGF0dXMudA== 100644
--- a/tests/test-status.t
+++ b/tests/test-status.t
@@ -100,6 +100,13 @@
   ? ../1/in_b_1
   ? in_b_2
   ? ../in_b
+
+combining patterns with root and patterns without a root works
+
+  $ hg st a/in_a re:.*b$
+  ? a/in_a
+  ? b/in_b
+
   $ cd ..
 
   $ hg init repo2