diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
index cc3d94e5994e524c121fcb4a62fba95366cd8514_aGdleHQvbGFyZ2VmaWxlcy9sZnV0aWwucHk=..378a8e700e02794e991d3521423a4f581b635666_aGdleHQvbGFyZ2VmaWxlcy9sZnV0aWwucHk= 100644
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -241,5 +241,9 @@
 def getstandinmatcher(repo, rmatcher=None):
     '''Return a match object that applies rmatcher to the standin directory'''
     standindir = repo.wjoin(shortname)
+
+    # no warnings about missing files or directories
+    badfn = lambda f, msg: None
+
     if rmatcher and not rmatcher.always():
         pats = [os.path.join(standindir, pat) for pat in rmatcher.files()]
@@ -244,7 +248,7 @@
     if rmatcher and not rmatcher.always():
         pats = [os.path.join(standindir, pat) for pat in rmatcher.files()]
-        match = scmutil.match(repo[None], pats)
+        match = scmutil.match(repo[None], pats, badfn=badfn)
         # if pats is empty, it would incorrectly always match, so clear _always
         match._always = False
     else:
         # no patterns: relative to repo root
@@ -247,10 +251,8 @@
         # if pats is empty, it would incorrectly always match, so clear _always
         match._always = False
     else:
         # no patterns: relative to repo root
-        match = scmutil.match(repo[None], [standindir])
-    # no warnings about missing files or directories
-    match.bad = lambda f, msg: None
+        match = scmutil.match(repo[None], [standindir], badfn=badfn)
     return match
 
 def composestandinmatcher(repo, rmatcher):