diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index 22f205d26ee546b26dd2d596291222565c9d9137..74c778231a517c5f6dd19f02abc75359872bfad9 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -1716,14 +1716,30 @@ class SegmentModel(ArbdModel):
 
     def extend(self, other, copy=True, include_strands=False):
         assert( isinstance(other, SegmentModel) )
+
+        try:
+            max_occupancy = max([s.occupancy for s in self.segments if 'occupancy' in s.__dict__])
+            occupancy0 = 10**np.ceil(np.log10(max_occupancy+1))
+        except:
+            pass
+
         if copy:
             for s in other.segments:
-                self.segments.append(deepcopy(s))
+                newseg = deepcopy(s)
+                try:
+                    newseg.occupancy = occupancy0+s.occupancy
+                except:
+                    pass
+                self.segments.append(newseg)
             if include_strands:
                 for s in other.strands:
                     self.strands.append(deepcopy(s))
         else:
             for s in other.segments:
+                try:
+                    s.occupancy = occupancy0+s.occupancy
+                except:
+                    pass
                 self.segments.append(s)
             if include_strands:
                 for s in other.strands: