diff --git a/deps/evalhyd-cpp b/deps/evalhyd-cpp
index d86043f5a28b697a902cc52842ed439583f5f42d..5fd5811b75a849351002569dc196ea55aab906e0 160000
--- a/deps/evalhyd-cpp
+++ b/deps/evalhyd-cpp
@@ -1 +1 @@
-Subproject commit d86043f5a28b697a902cc52842ed439583f5f42d
+Subproject commit 5fd5811b75a849351002569dc196ea55aab906e0
diff --git a/tests/test_determinist.py b/tests/test_determinist.py
index 7757d64602e11f6fa189033107695102b9de9041..62a5b6e87df6324ac4b53cf9a064c53279011465 100644
--- a/tests/test_determinist.py
+++ b/tests/test_determinist.py
@@ -181,6 +181,17 @@ class TestMasking(unittest.TestCase):
                               q_thr=_thr, events=_events)[0]
             )
 
+        with self.subTest(conditions="no subset"):
+            cdt = numpy.array([["t{:}"]] * _prd.shape[0],
+                              dtype='|S32')
+
+            numpy.testing.assert_almost_equal(
+                evalhyd.evald(obs, prd, ["NSE"],
+                              q_thr=_thr, events=_events, m_cdt=cdt)[0],
+                evalhyd.evald(obs, prd, ["NSE"],
+                              q_thr=_thr, events=_events)[0]
+            )
+
 
 class TestMissingData(unittest.TestCase):
 
diff --git a/tests/test_probabilist.py b/tests/test_probabilist.py
index 9c9b945d730b554cb3e7b73d6e0f503327436515..c3adb76e0735535f7d240cd47e2566617fd84d8c 100644
--- a/tests/test_probabilist.py
+++ b/tests/test_probabilist.py
@@ -212,8 +212,8 @@ class TestMasking(unittest.TestCase):
                 evalhyd.evalp(obs, prd, ["QS"])[0]
             )
 
-        with self.subTest(conditions="predicted streamflow statistics"):
-            cdt = numpy.array([["q_prd_median{<=quantile0.7}"]], dtype='|S32')
+        with self.subTest(conditions="predicted streamflow statistics 1"):
+            cdt = numpy.array([["q_prd_median{<=qtl0.7}"]], dtype='|S32')
 
             median = numpy.squeeze(numpy.median(_prd, 2))
             msk = median <= numpy.quantile(median, 0.7)
@@ -227,6 +227,24 @@ class TestMasking(unittest.TestCase):
                 evalhyd.evalp(obs, prd, ["QS"])[0]
             )
 
+        with self.subTest(conditions="predicted streamflow statistics 2"):
+            cdt = numpy.array([["q_prd_median{>qtl0.3,<=qtl0.7}"]], dtype='|S32')
+
+            median = numpy.squeeze(numpy.median(_prd, 2))
+            msk = (
+                    (median > numpy.quantile(median, 0.3))
+                    & (median <= numpy.quantile(median, 0.7))
+            )
+
+            # TODO: figure out why passing views would not work
+            obs = _obs[..., msk].copy()
+            prd = _prd[..., msk].copy()
+
+            numpy.testing.assert_almost_equal(
+                evalhyd.evalp(_obs, _prd, ["QS"], m_cdt=cdt)[0],
+                evalhyd.evalp(obs, prd, ["QS"])[0]
+            )
+
         with self.subTest(conditions="time indices"):
             cdt = numpy.array([["t{20:80,80,81,82,83:311}"]],
                               dtype='|S32')
@@ -240,6 +258,15 @@ class TestMasking(unittest.TestCase):
                 evalhyd.evalp(obs, prd, ["QS"])[0]
             )
 
+        with self.subTest(conditions="no subset"):
+            cdt = numpy.array([["t{:}"]],
+                              dtype='|S32')
+
+            numpy.testing.assert_almost_equal(
+                evalhyd.evalp(obs, prd, ["QS"], m_cdt=cdt)[0],
+                evalhyd.evalp(obs, prd, ["QS"])[0]
+            )
+
 
 class TestMissingData(unittest.TestCase):