diff --git a/tests/test-hardlinks.t b/tests/test-hardlinks.t
index 905a2eff08a6afc154126f249f22dc1ddccea61a_dGVzdHMvdGVzdC1oYXJkbGlua3MudA==..b9135f191d8a2ebd56322728f53178d694244904_dGVzdHMvdGVzdC1oYXJkbGlua3MudA== 100644
--- a/tests/test-hardlinks.t
+++ b/tests/test-hardlinks.t
@@ -214,9 +214,15 @@
 
   $ linkcp r3 r4
 
+'checklink' is produced by hardlinking a symlink, which is undefined whether
+the symlink should be followed or not. It does behave differently on Linux and
+BSD. Just remove it so the test pass on both platforms.
+
+  $ rm -f r4/.hg/cache/checklink
+
 r4 has hardlinks in the working dir (not just inside .hg):
 
   $ nlinksdir r4
   2 r4/.hg/00changelog.i
   2 r4/.hg/branch
   2 r4/.hg/cache/checkisexec (execbit !)
@@ -217,10 +223,9 @@
 r4 has hardlinks in the working dir (not just inside .hg):
 
   $ nlinksdir r4
   2 r4/.hg/00changelog.i
   2 r4/.hg/branch
   2 r4/.hg/cache/checkisexec (execbit !)
-  3 r4/.hg/cache/checklink (?)
   ? r4/.hg/cache/checklink-target (glob) (symlink !)
   2 r4/.hg/cache/checknoexec (execbit !)
   2 r4/.hg/cache/branch2-base