diff --git a/tests/test_bids.py b/tests/test_bids.py
index a5facaf8ea2727a23e89471bc13e57dee25745f4..ff236b522ffe12137de92010a5ed66c99d6ce5c9 100644
--- a/tests/test_bids.py
+++ b/tests/test_bids.py
@@ -18,8 +18,12 @@ import fsl.utils.bids  as     fslbids
 
 
 def test_parseFilename():
-    with pytest.raises(ValueError):
-        fslbids.parseFilename('bad_file.txt')
+    badtests = ['bad_file.txt',
+                'badfile.txt']
+
+    for test in badtests:
+        with pytest.raises(ValueError):
+            fslbids.parseFilename(test)
 
     tests = [
         ('sub-01_ses-01_t1w.nii.gz',
@@ -105,3 +109,41 @@ def test_loadMetadata():
         assert fslbids.loadMetadata(t1) == {**meta2, **meta1}
         json4.write_text(json.dumps(meta4))
         assert fslbids.loadMetadata(t1) == {**meta4, **meta2, **meta1}
+
+
+
+def test_loadMetadata_symlinked():
+    ddreal = Path('a')
+    t1real = Path('b')
+    j1real = Path('c')
+    j2real = Path('d')
+    j3real = Path('e')
+    j4real = Path('f')
+    dd     = Path('data/dataset_description.json')
+    t1     = Path('data/sub-01/func/sub-01_task-stim_bold.nii.gz')
+    json1  = Path('data/sub-01/func/sub-01_task-stim_bold.json')
+    json2  = Path('data/sub-01/sub-01_bold.json')
+    json3  = Path('data/sub-01_t1w.json')
+    json4  = Path('data/sub-01/task-stim_bold.json')
+    meta1  = {'a' : '1',   'b' : '2'}
+    meta2  = {'a' : '10',  'c' : '3'}
+    meta3  = {'a' : '109', 'b' : '99'}
+    meta4  = {'c' : '9',   'd' : '5'}
+
+    with tempdir():
+        ddreal.touch()
+        t1real.touch()
+        j1real.write_text(json.dumps(meta1))
+        j2real.write_text(json.dumps(meta2))
+        j3real.write_text(json.dumps(meta3))
+        j4real.write_text(json.dumps(meta4))
+
+        Path(op.dirname(t1)).mkdir(parents=True)
+        dd   .symlink_to(op.join('..',             ddreal))
+        t1   .symlink_to(op.join('..', '..', '..', t1real))
+        json1.symlink_to(op.join('..', '..', '..', j1real))
+        json2.symlink_to(op.join('..', '..',       j2real))
+        json3.symlink_to(op.join('..',             j3real))
+        json4.symlink_to(op.join('..', '..',       j4real))
+
+        assert fslbids.loadMetadata(t1) == {**meta4, **meta2, **meta1}