diff --git a/runtime/domain/block_forest.hpp b/runtime/domain/block_forest.hpp
index 1a4034928bd2668ad997243f9c5e1eeca6968cac..04446d23d7f3b719b9f60d3816975d453a8e4446 100644
--- a/runtime/domain/block_forest.hpp
+++ b/runtime/domain/block_forest.hpp
@@ -18,9 +18,8 @@ private:
     std::vector<int> ranks;
     std::vector<int> naabbs;
     std::vector<double> aabbs;
-    real_t *subdom_min;
-    real_t *subdom_max;
-    int world_size, rank, total_aabbs;
+    real_t *subdom;
+    int world_size, rank, nranks, naabbs;
     bool balance_workload;
 
 public:
diff --git a/src/pairs/sim/domain_partitioning.py b/src/pairs/sim/domain_partitioning.py
index 8a496f2a872200cdab54e0808b349c1e4c9ac56e..af068620d2cb25a6259b6bfdd7e9282a7cb5d002 100644
--- a/src/pairs/sim/domain_partitioning.py
+++ b/src/pairs/sim/domain_partitioning.py
@@ -34,9 +34,9 @@ class DimensionRanges:
     def initialize(self):
         grid_array = [(self.sim.grid.min(d), self.sim.grid.max(d)) for d in range(self.sim.ndims())]
         Call_Void(self.sim, "pairs->initDomain", [param for delim in grid_array for param in delim])
-        Call_Void(self.sim, "pairs->copyRuntimeArray", ['neighbor_ranks', self.neighbor_ranks, sim.ndims() * 2])
-        Call_Void(self.sim, "pairs->copyRuntimeArray", ['pbc', self.pbc, sim.ndims() * 2])
-        Call_Void(self.sim, "pairs->copyRuntimeArray", ['subdom', self.subdom, sim.ndims() * 2])
+        Call_Void(self.sim, "pairs->copyRuntimeArray", ['neighbor_ranks', self.neighbor_ranks, self.sim.ndims() * 2])
+        Call_Void(self.sim, "pairs->copyRuntimeArray", ['pbc', self.pbc, self.sim.ndims() * 2])
+        Call_Void(self.sim, "pairs->copyRuntimeArray", ['subdom', self.subdom, self.sim.ndims() * 2])
 
     def ghost_particles(self, step, position, offset=0.0):
         # Particles with one of the following flags are ignored