diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml
index 6eb277b303f440de5f92b31caecc432c54069149..8b77cb9db84949eb4fc12c2c6bccca67f92cc899 100644
--- a/examples/parameter_example.yml
+++ b/examples/parameter_example.yml
@@ -114,9 +114,7 @@ Restarts:
 DomainDecomposition:
   initial_type:     simple_metis # (Optional) The initial decomposition strategy: "grid",
                                  #            "simple_metis", "weighted_metis", or "vectorized".
-  initial_grid_x:   10      # (Optional) Grid size if the "grid" strategy is chosen.
-  initial_grid_y:   10      # ""
-  initial_grid_z:   10      # ""
+  initial_grid: [10,10,10] # (Optional) Grid sizes if the "grid" strategy is chosen.
 
   repartition_type: costs/costs # (Optional) The re-decomposition strategy, one of:
                             # "none/none", "costs/costs", "counts/none", "none/costs", "counts/costs",
diff --git a/src/partition.c b/src/partition.c
index 85a51dddf2797e7d203da95abc42639c29f11aa6..25b073c3198a5e0a37e1d39709e8e44bc9fc9473 100644
--- a/src/partition.c
+++ b/src/partition.c
@@ -1095,12 +1095,8 @@ void partition_init(struct partition *partition,
 
   /* In case of grid, read more parameters */
   if (part_type[0] == 'g') {
-    partition->grid[0] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_x", partition->grid[0]);
-    partition->grid[1] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_y", partition->grid[1]);
-    partition->grid[2] = parser_get_opt_param_int(
-        params, "DomainDecomposition:initial_grid_z", partition->grid[2]);
+    parser_get_opt_param_int_array(params, "DomainDecomposition:initial_grid",
+                                   3, partition->grid);
   }
 
   /* Now let's check what the user wants as a repartition strategy */