diff --git a/pystencils/simp/assignment_collection.py b/pystencils/simp/assignment_collection.py
index 5d57addce4e4ea740b0eb045142cb8d2bea5c797..79611f6753e578953f41360a4556460bbb9cfd1f 100644
--- a/pystencils/simp/assignment_collection.py
+++ b/pystencils/simp/assignment_collection.py
@@ -3,6 +3,7 @@ from copy import copy
 from typing import List, Optional, Dict, Any, Set, Sequence, Iterator, Iterable, Union
 from pystencils.assignment import Assignment
 from pystencils.sympyextensions import fast_subs, count_operations, sort_assignments_topologically
+import pystencils
 
 
 class AssignmentCollection:
@@ -360,6 +361,25 @@ class AssignmentCollection:
         self.sub_expressions = [Assignment(k, v)
                                 for k, v in sub_expressions_dict.items()]
 
+    def has_exclusive_writes(self):
+        """
+        Simple check for exclusive (non-overlapping) writes.
+        I.e. AssignmentCollection can be executed safely in parallel without caring about race conditions.
+        """
+
+        assignments = self.main_assignments
+        write_field_accesses = [a.lhs for a in assignments if isinstance(a.lhs, pystencils.Field.Access)]
+
+        exclusive_writes = set()
+        for a in write_field_accesses:
+
+            if (a.field, a.index) in exclusive_writes:
+                return False
+            else:
+                exclusive_writes.add((a.field, a.index))
+
+        return True
+
 
 class SymbolGen:
     """Default symbol generator producing number symbols ζ_0, ζ_1, ..."""