diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index fa10c4d1840768371f9e6db03431d3f29d29e228..36fa2c7324fa6771c32bffd0917e2e29d2f09dc6 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -530,6 +530,7 @@ class Segment(ConnectableElement, Group):
         self.beads = []
         for c,loc,other in self.get_connections_and_locations():
             loc.particle = None
+            other.particle = None
 
     def contour_to_nt_pos(self, contour_pos, round_nt=False):
         nt = contour_pos*(self.num_nt) - 0.5
@@ -1613,7 +1614,7 @@ class SegmentModel(ArbdModel):
             for c,A,B in s.get_connections_and_locations():
                 for l in (A,B):
                     if l.particle is not None:
-                        locParticles.append(A.particle)
+                        locParticles.append(l.particle)
         assert( len(locParticles) == 0 )
         assert( len([b for s in self.segments for b in s.beads]) == 0 )