diff --git a/tests/test_filetree/test_template.py b/tests/test_filetree/test_template.py
index c4042078df8a762c3affb5b2d98e1c63cb9a4b81..ba51229214d1acc31adf7967d547a8036b9802e6 100644
--- a/tests/test_filetree/test_template.py
+++ b/tests/test_filetree/test_template.py
@@ -25,3 +25,12 @@ def test_get_variables():
     assert {'subject': '01', 'session': 'A'} == utils.extract_variables('sub-{subject}/[ses-{session}]/T1w.nii.gz', 'sub-01/ses-A/T1w.nii.gz')
     with pytest.raises(ValueError):
         utils.extract_variables('sub-{subject}/[ses-{session}]/T1w.nii.gz', 'sub-01/other/T1w.nii.gz')
+
+
+def test_multiple_optionals():
+    with pytest.raises(KeyError):
+        utils.extract_variables('{var}[_{opt1}][_{opt2}]', 'test_foo')
+    assert {'var': 'test', 'opt1': None, 'opt2': None} == utils.extract_variables('{var}[_{opt1}][_{opt2}]', 'test')
+    assert {'var': 'test', 'opt1': 'oo', 'opt2': None} == utils.extract_variables('{var}[_f{opt1}][_{opt2}]', 'test_foo')
+
+