diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index bb8d1282eed7aab38743f4cf11e44da34d6d460d..b1eec24b61bc86dfca6e50686faf97187887f3ea 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -283,7 +283,7 @@ int main(int argc, char *argv[]) {
       }
       // }}}
 
-      {
+      if (parset.get<bool>("useNonlinearGS")) {
         MyConvexProblemType myConvexProblem(
             stiffnessMatrix, *myGlobalNonlinearity, b1, u1_diff_new);
         MyBlockProblemType myBlockProblem(parset, myConvexProblem);
@@ -318,7 +318,7 @@ int main(int argc, char *argv[]) {
         writer.write(filename.c_str());
       }
 
-      {
+      if (parset.get<bool>("useGS")) {
         BlockGSStep<OperatorType, VectorType> blockGSStep(stiffnessMatrix,
                                                           u2_diff_new, b2);
         blockGSStep.ignoreNodes_ = &ignoreNodes;
@@ -333,7 +333,7 @@ int main(int argc, char *argv[]) {
 
       // Use a linear solver for comparison; should return roughly the
       // same results if phi vanishes (e.g. because the normalstress is zero)
-      {
+      if (parset.get<bool>("useTruncatedGS")) {
         TruncatedBlockGSStep<OperatorType, VectorType> blockGSStep(
             stiffnessMatrix, u3_diff_new, b3);
         blockGSStep.ignoreNodes_ = &ignoreNodes;
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index b3d3397589613963ff839bf157f39764230145f2..36ba484225813eef9d240b0866c3690dfa4baa57 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -3,6 +3,10 @@ timesteps = 100
 
 verbose = false
 
+useNonlinearGS = true
+useGS = false
+useTruncatedGS = false
+
 [grid]
 refinements = 5