diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index a11ea618652bb07bc69dc92e0b6bb1073564cc24..c4f125c098dcf275ff7cdf3aa0253b458a7796aa 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -2411,6 +2411,15 @@ class SegmentModel(ArbdModel):
                     break
             # exclusions.update( tmp )
 
+        ## Add exclusions very near crossovers
+        for c,A,B in sum([self.get_connections(term) for term in ("crossover","terminal_crossover")],[]):
+            b1,b2 = [loc.particle for loc in (A,B)]
+            near_b1 = _recursively_get_beads_within(b1, 3, done=[])
+            near_b2 = _recursively_get_beads_within(b2, 3, done=[])
+            for bi in near_b1:
+                for bj in near_b2:
+                    exclusions.add((bi,bj))
+
         if self.DEBUG: print("Adding %d exclusions" % len(exclusions))
         for b1,b2 in exclusions:
             parent = self._getParent(b1,b2)