diff --git a/unittests/test_converters.py b/unittests/test_converters.py
index 5a1c8b690690c5cce0373a5fa25d954fb89988f6..5942b1e124ebd1228a619ed7a1024738c70ee0aa 100644
--- a/unittests/test_converters.py
+++ b/unittests/test_converters.py
@@ -27,6 +27,7 @@ import json
 import yaml
 import importlib
 import os
+from itertools import product
 import pytest
 import yaml
 
@@ -500,11 +501,10 @@ end""")
     assert val["text"] == "\nbla\n"
 
 
-def test_converter_value_match(converter_registry, capsys):
+def test_converter_value_match(converter_registry):
     # test with defaults
     dc = FloatElementConverter(
         definition={
-            "debug_match": True,
             "match_name": "(.*)",
             "match_value": "(.*)",
         },
@@ -513,14 +513,6 @@ def test_converter_value_match(converter_registry, capsys):
     )
     m = dc.match(IntegerElement(name="a", value=4))
     assert m is not None
-    # checking debug output
-    captured = capsys.readouterr()
-    # the name
-    assert "a" in captured.out
-    # the regexp
-    assert "(.*)" in captured.out
-    # the empty result set
-    assert "{}" in captured.out
 
     # overwrite default with no match for int
     dc = FloatElementConverter(
@@ -546,3 +538,35 @@ def test_converter_value_match(converter_registry, capsys):
     )
     m = dc.match(FloatElement(name="a", value=4.0))
     assert m is not None
+
+
+def test_match_debug(converter_registry, capsys):
+    for m, mn, mv in product([".*", None], [".*", None], [".*", None]):
+        defi = {"debug_match": True}
+        if m:
+            defi["match"] = m
+        if mn:
+            defi["match_name"] = mn
+        if mv:
+            defi["match_value"] = mv
+        dc = FloatElementConverter(
+            definition=defi,
+            name="Test",
+            converter_registry=converter_registry
+        )
+        if m and mn:
+            with pytest.raises(RuntimeError) as err:
+                mtch = dc.match(IntegerElement(name="a", value=4))
+            continue
+        else:
+            mtch = dc.match(IntegerElement(name="a", value=4))
+        if not (m is None and mn is None and mv is None):
+            assert mtch is not None
+            # checking debug output
+            captured = capsys.readouterr()
+            # the name
+            assert "a" in captured.out
+            # the regexp
+            assert ".*" in captured.out
+            # the empty result set
+            assert "{}" in captured.out