diff --git a/binarycpython/utils/grid.py b/binarycpython/utils/grid.py
index 2da217446a534533d7106b46867fcf9763f20f66..12cd6f0bbe0873d3ec596e5ab71d7c931e14803e 100644
--- a/binarycpython/utils/grid.py
+++ b/binarycpython/utils/grid.py
@@ -2312,8 +2312,11 @@ class Population:
             else:
                 # use resolution passed in
                 self._add_code(
-                    "for {}_sample_number in range({}):".format(
-                        grid_variable["name"], grid_variable["resolution"]
+                    "for {}_sample_number in range({} if {} != 0 else max(0,len(sampled_values_{})-1)):".format(
+                        grid_variable["name"],
+                        grid_variable["resolution"],
+                        grid_variable["resolution"],
+                        grid_variable["name"],
                     )
                     + "\n"
                 )