diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index e351ee0784da973fdbf77884b8ab305be67c2d98..cd7df115fe644ef95ce93b6bde8daaffc08f5a70 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -3962,11 +3962,7 @@ proc calcforces {} {
         for grid_file, scale, per_nucleotide, filter_fn in self.grid_potentials:
             def add_grid_to_type(particle_type):                
                 s = scale*particle_type.nts if per_nucleotide else scale
-                try:
-                    particle_type.grid = list(particle_type.grid) + [(grid_file, s)]
-                except:
-                    particle_type.grid = [(grid_file, s)]
-                particle_type.grid = tuple(particle_type.grid)
+                particle_type.add_grid_potential( grid_file, s )
                 
             if filter_fn is None:
                 for key,particle_type in bead_type_dict.items():