diff --git a/scripts/errors/pt2pt/LocalConcurrency.py b/scripts/errors/pt2pt/LocalConcurrency.py
index 996c07225a82264450e2c0054651c3766b2b911e..8ff9ed398b66328e2fc3e0b29a7c290a00bf2f40 100644
--- a/scripts/errors/pt2pt/LocalConcurrency.py
+++ b/scripts/errors/pt2pt/LocalConcurrency.py
@@ -55,9 +55,14 @@ class LocalConcurrencyErrorP2P(ErrorGenerator):
             if check_receive:
                 kind = 0
             conflicting_inst.set_rank_executing(kind)
-            for c in tm.get_instruction("MPICALL", return_list=True):
-                if c.get_rank_executing() == kind:
-                    c.set_has_error()
+
+            if recv_func != "mpi_imrecv":
+                for c in tm.get_instruction("MPICALL", return_list=True):
+                    if c.get_rank_executing() == kind:
+                        c.set_has_error()
+            else:
+                tm.get_instruction("MATCHEDRECEIVE").set_has_error()
+
 
             for c in tm.get_instruction("WAIT", return_list=True):
                 if c.get_rank_executing() == kind: