diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 0a679e5dd4c7b9436d4a1c62d6a2537fefa0f942..e43f816932599a26d93c2fb2ecfc943a8e3e3518 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -192,7 +192,8 @@ int main(int argc, char *argv[]) {
         parset.get<size_t>("solver.maxiterations");
     auto const solver_tolerance = parset.get<double>("solver.tolerance");
 
-    auto const levels = parset.get<size_t>("grid.refinements") + 1;
+    auto const refinements = parset.get<size_t>("grid.refinements");
+    size_t const levels = refinements + 1;
 
     auto const verbose = parset.get<bool>("verbose");
     Solver::VerbosityMode verbosity = verbose ? Solver::FULL : Solver::QUIET;
@@ -206,7 +207,7 @@ int main(int argc, char *argv[]) {
         Dune::FieldVector<int, dim>(2), // number of elements in each direction
         Dune::FieldVector<bool, dim>(false), // non-periodic in each direction
         0);                                  // zero overlap (whatever that is)
-    grid.globalRefine(levels - 1);
+    grid.globalRefine(refinements);
 
     typedef GridType::LeafGridView GridView;
     GridView const leafView = grid.leafView();
@@ -330,7 +331,7 @@ int main(int argc, char *argv[]) {
 
         // {{{ Transfer operators
         std::vector<CompressedMultigridTransfer<VectorType> *> transfer_;
-        transfer_.resize(levels - 1);
+        transfer_.resize(refinements);
         for (auto &x : transfer_)
           x = new CompressedMultigridTransfer<VectorType>;