diff --git a/include/ceres/tiny_solver.h b/include/ceres/tiny_solver.h
index d9fa3c5..cbdc228 100644
--- a/include/ceres/tiny_solver.h
+++ b/include/ceres/tiny_solver.h
@@ -231,13 +231,14 @@
     Scalar u = options.initial_scale_factor;
     Scalar v = 2;
 
-    for (int i = 1; summary.status == RUNNING && i < options.max_iterations;
-         ++i) {
-      summary.iterations = i;
+    for (summary.iterations = 1;
+         (summary.status == RUNNING &&
+          summary.iterations < options.max_iterations);
+         summary.iterations++) {
       jtj_regularized_ = jtj_;
       const Scalar min_diagonal = 1e-6;
       const Scalar max_diagonal = 1e32;
-      for (int i = 0; i < function.NumParameters(); ++i) {
+      for (int i = 0; i < lm_diagonal_.rows(); ++i) {
         lm_diagonal_[i] = std::sqrt(
             u * std::min(std::max(jtj_(i, i), min_diagonal), max_diagonal));
         jtj_regularized_(i, i) += lm_diagonal_[i] * lm_diagonal_[i];
