diff --git a/scripts/errors/dtypes/DtypeMissmatch.py b/scripts/errors/dtypes/DtypeMissmatch.py
index 28b01b0efdb5e506f4a1281492fb15dd27f0b443..67b29189b414b9b4baed40e2050528191b5f3140 100644
--- a/scripts/errors/dtypes/DtypeMissmatch.py
+++ b/scripts/errors/dtypes/DtypeMissmatch.py
@@ -157,20 +157,24 @@ class DtypeMissmatch(ErrorGenerator):
                                                         datatype=t.lower(),
                                                         communicator=c)]
 
-        print("number of important recvs:")
-        print(len(important_recvs))
-
-        print("number of important sends:")
-        print(len(important_sends))
-
         # all possible combinations
         combinations_to_use = [(s, r) for s in important_sends for r in important_recvs if
                                is_combination_compatible(s, r)]
         # "re-format"
         combinations_to_use = [(t1, t2, s, r, c) for (t1, s, c), (t2, r, _) in combinations_to_use]
 
-        print("combinations:")
-        print(len(combinations_to_use))
+        if generate_level == BASIC_TEST_LEVEL:
+            combinations_to_use = combinations_to_use[0:1]
+
+        if generate_level == SUFFICIENT_TEST_LEVEL:
+            types_checked = set()
+            combinations_to_use_filtered = []
+            for (t1, t2, s, r, c) in combinations_to_use:
+                if t1 not in types_checked and t2 not in types_checked:
+                    types_checked.add(t1)
+                    types_checked.add(t2)
+                combinations_to_use_filtered.append((t1, t2, s, r, c))
+            combinations_to_use = combinations_to_use_filtered
 
         correct_types_checked = set()
         for type_1, type_2, send_func, recv_func, comm in combinations_to_use: