diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
index a6542a670ece8e13ae7b32ef28e2816d63120524_bWVyY3VyaWFsL2RpcnN0YXRlLnB5..f4930b533d55ad4b8910785c6b166f8a798d01bc_bWVyY3VyaWFsL2RpcnN0YXRlLnB5 100644
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -700,7 +700,7 @@
                 for nf in iter(visit):
                     # Report ignored items in the dmap as long as they are not
                     # under a symlink directory.
-                    if ignore(nf) and audit_path.check(nf):
+                    if audit_path.check(nf):
                         try:
                             results[nf] = lstat(join(nf))
                         except OSError:
diff --git a/tests/test-hgignore.t b/tests/test-hgignore.t
index a6542a670ece8e13ae7b32ef28e2816d63120524_dGVzdHMvdGVzdC1oZ2lnbm9yZS50..f4930b533d55ad4b8910785c6b166f8a798d01bc_dGVzdHMvdGVzdC1oZ2lnbm9yZS50 100644
--- a/tests/test-hgignore.t
+++ b/tests/test-hgignore.t
@@ -124,3 +124,13 @@
   (?:(?:|.*/)[^/]*(?:/|$))
 
   $ cd ..
+
+Check patterns that match only the directory
+
+  $ echo "^dir\$" > .hgignore
+  $ hg status
+  A dir/b.o
+  ? .hgignore
+  ? a.c
+  ? a.o
+  ? syntax