diff --git a/internal/ceres/callbacks.cc b/internal/ceres/callbacks.cc
index 01ada06..84576e4 100644
--- a/internal/ceres/callbacks.cc
+++ b/internal/ceres/callbacks.cc
@@ -47,10 +47,8 @@
 
 CallbackReturnType StateUpdatingCallback::operator()(
     const IterationSummary& summary) {
-  if (summary.step_is_successful) {
-    program_->StateVectorToParameterBlocks(parameters_);
-    program_->CopyParameterBlockStateToUserState();
-  }
+  program_->StateVectorToParameterBlocks(parameters_);
+  program_->CopyParameterBlockStateToUserState();
   return SOLVER_CONTINUE;
 }
 
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index 016d841..3de9c69 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -450,16 +450,18 @@
     return;
   }
 
+  const Vector original_reduced_parameters = pp->reduced_parameters;
   scoped_ptr<Minimizer> minimizer(
       Minimizer::Create(pp->options.minimizer_type));
   minimizer->Minimize(pp->minimizer_options,
                       pp->reduced_parameters.data(),
                       summary);
 
-  if (summary->IsSolutionUsable()) {
-    program->StateVectorToParameterBlocks(pp->reduced_parameters.data());
-    program->CopyParameterBlockStateToUserState();
-  }
+  program->StateVectorToParameterBlocks(
+      summary->IsSolutionUsable()
+      ? pp->reduced_parameters.data()
+      : original_reduced_parameters.data());
+  program->CopyParameterBlockStateToUserState();
 }
 
 std::string SchurStructureToString(const int row_block_size,
