diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index c5cb4cc4e6dda008619d1de57fdff7f04688cbcb..d51ffa4b98571a26ee3b856b9e26b5f910b2a67f 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -275,7 +275,8 @@ int main(int argc, char *argv[]) {
             std::cout << '.';
             std::cout.flush();
           }
-          if (energyNorm.diff(u4_diff_old, u4_diff) < 1e-14) // TODO
+          if (energyNorm.diff(u4_diff_old, u4_diff) <
+              parset.get<double>("solver.tnnmg.fixed_point_tolerance"))
             break;
         }
 
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index c87dea6c39cf4b3efded4efcb608d8fdc12cfe88..639a5ce08a285fd2fc4e67e22661f1b9da259473 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -27,6 +27,7 @@ tolerance = 1e-14
 use = true
 maxiterations = 1000000
 fixed_point_iterations = 20
+fixed_point_tolerance = 1e-14
 
 [solver.tnnmg.linear]
 maxiterations = 1000000