diff --git a/acmc/parse.py b/acmc/parse.py
index 8a364e5546d6946daa3ac995a98080ddd63f7662..7e805b8a0943251924dfc21ca94f8df8797e1503 100644
--- a/acmc/parse.py
+++ b/acmc/parse.py
@@ -99,6 +99,8 @@ class Proto:
                     _logger.debug(f"Check: Fixed")
                 except InvalidCodesException as ex:
                     errors.append(ex.error)
+                    codes = codes[cond(codes)] #remove codes that cannot be fixed
+                    _logger.debug(f"Check: Invalid Codes Removed, no fix available")
             else:
                 _logger.debug(f"Check: passed")
 
@@ -231,7 +233,7 @@ class Read3(Proto):
                             f"QA Alphanumeric Dot",
                             codes=codes,
                             codes_file=codes_file,
-                            mask=None,
+                            mask=codes.str.match(r"^[a-zA-Z0-9.]+$"),
                             code_type=self.name,
                         )
                     )
@@ -246,7 +248,7 @@ class Read3(Proto):
                             f"QA In Database",
                             codes=codes,
                             codes_file=codes_file,
-                            mask=None,
+                            mask=self.in_database(codes, self.db, self.name),
                             code_type=self.name,
                         )
                     )