diff --git a/validation/validate-mmcif-file.py b/validation/validate-mmcif-file.py
index db01afd396b4c1627bb57802578c45a67ffac916..7f18e1fc273066d829e58c024b7e20281adeb3c0 100755
--- a/validation/validate-mmcif-file.py
+++ b/validation/validate-mmcif-file.py
@@ -820,19 +820,21 @@ class _CifCheck:
                 )
                 continue
             # Invalid value
-            match = re.match(
+            for pttrn in [
                 r"^ERROR - In block \"(?P<dblock>.*)\", mandatory item "
                 + r"\"(?P<itm>.*)\" has invalid value (?P<vle>.*) in row: "
                 + r"\".*\" == \"\d+\"$",
-                line,
-            )
+            ]:
+                if (match := re.match(pttrn, line)) is not None:
+                    # ToDo: use the walrus operator := everywhere here
+                    rprt["Invalid values"].add(
+                        f'{match.group("itm")}={match.group("vle")}'
+                    )
+                    if "dblock" in match.groupdict():
+                        _check_dblock_name(match.group("dblock"), rprt)
+                    break
             if match is not None:
-                rprt["Invalid values"].add(
-                    f'{match.group("itm")}={match.group("vle")}'
-                )
-                _check_dblock_name(match.group("dblock"), rprt)
                 continue
-
             # Unmatched lines need to be added to above evaluation
             raise RuntimeError(
                 f'Unmatched diagnosis line found:\n"""{line}"""'