diff --git a/src/core/solvers/ddp.cpp b/src/core/solvers/ddp.cpp
index 6502c791dc26f324801fe89881bf10c1d5986328..171753452a72f32a43a9fc7656ff4562d9e3e30c 100644
--- a/src/core/solvers/ddp.cpp
+++ b/src/core/solvers/ddp.cpp
@@ -93,7 +93,7 @@ bool SolverDDP::solve(const std::vector<Eigen::VectorXd>& init_xs, const std::ve
     }
     stoppingCriteria();
 
-    const unsigned int& n_callbacks = static_cast<unsigned int>(callbacks_.size());
+    unsigned int const& n_callbacks = static_cast<unsigned int>(callbacks_.size());
     for (unsigned int c = 0; c < n_callbacks; ++c) {
       CallbackAbstract& callback = *callbacks_[c];
       callback(*this);
@@ -120,7 +120,7 @@ double SolverDDP::tryStep(const double& steplength) {
 
 double SolverDDP::stoppingCriteria() {
   stop_ = 0.;
-  const unsigned int& T = this->problem_.get_T();
+  unsigned int const& T = this->problem_.get_T();
   for (unsigned int t = 0; t < T; ++t) {
     stop_ += Qu_[t].squaredNorm();
   }
@@ -129,7 +129,7 @@ double SolverDDP::stoppingCriteria() {
 
 const Eigen::Vector2d& SolverDDP::expectedImprovement() {
   d_.fill(0);
-  const unsigned int& T = this->problem_.get_T();
+  unsigned int const& T = this->problem_.get_T();
   for (unsigned int t = 0; t < T; ++t) {
     d_[0] += Qu_[t].dot(k_[t]);
     d_[1] -= k_[t].dot(Quuk_[t]);
@@ -143,7 +143,7 @@ double SolverDDP::calc() {
     const Eigen::VectorXd& x0 = problem_.get_x0();
     problem_.running_models_[0]->get_state().diff(xs_[0], x0, gaps_[0]);
 
-    const unsigned int& T = problem_.get_T();
+    unsigned int const& T = problem_.get_T();
     for (unsigned int t = 0; t < T; ++t) {
       ActionModelAbstract* model = problem_.running_models_[t];
       boost::shared_ptr<ActionDataAbstract>& d = problem_.running_datas_[t];
@@ -218,7 +218,7 @@ void SolverDDP::forwardPass(const double& steplength) {
   assert(steplength <= 1. && "Step length has to be <= 1.");
   assert(steplength >= 0. && "Step length has to be >= 0.");
   cost_try_ = 0.;
-  const unsigned int& T = problem_.get_T();
+  unsigned int const& T = problem_.get_T();
   for (unsigned int t = 0; t < T; ++t) {
     ActionModelAbstract* m = problem_.running_models_[t];
     boost::shared_ptr<ActionDataAbstract>& d = problem_.running_datas_[t];
diff --git a/src/core/solvers/fddp.cpp b/src/core/solvers/fddp.cpp
index e376de8d99d61433f7f042ecf9265f164da122fb..e5e6682fb8e7e24a89711f70da7766b8493abdab 100644
--- a/src/core/solvers/fddp.cpp
+++ b/src/core/solvers/fddp.cpp
@@ -90,7 +90,7 @@ bool SolverFDDP::solve(const std::vector<Eigen::VectorXd>& init_xs, const std::v
     }
     stoppingCriteria();
 
-    const unsigned int& n_callbacks = static_cast<unsigned int>(callbacks_.size());
+    unsigned int const& n_callbacks = static_cast<unsigned int>(callbacks_.size());
     for (unsigned int c = 0; c < n_callbacks; ++c) {
       CallbackAbstract& callback = *callbacks_[c];
       callback(*this);
@@ -106,7 +106,7 @@ bool SolverFDDP::solve(const std::vector<Eigen::VectorXd>& init_xs, const std::v
 void SolverFDDP::updateExpectedImprovement() {
   dg_ = 0;
   dq_ = 0;
-  const unsigned int& T = this->problem_.get_T();
+  unsigned int const& T = this->problem_.get_T();
   if (!is_feasible_) {
     dg_ -= Vx_.back().transpose() * gaps_.back();
     dq_ += gaps_.back().transpose() * Vxx_.back() * gaps_.back();
@@ -124,7 +124,7 @@ void SolverFDDP::updateExpectedImprovement() {
 const Eigen::Vector2d& SolverFDDP::expectedImprovement() {
   dv_ = 0;
   d_.fill(0);
-  const unsigned int& T = this->problem_.get_T();
+  unsigned int const& T = this->problem_.get_T();
   if (!is_feasible_) {
     problem_.running_models_.back()->get_state().diff(xs_try_.back(), xs_.back(), dx_.back());
     dv_ -= gaps_.back().transpose() * Vxx_.back() * dx_.back();
@@ -144,7 +144,7 @@ double SolverFDDP::calc() {
     const Eigen::VectorXd& x0 = problem_.get_x0();
     problem_.running_models_[0]->get_state().diff(xs_[0], x0, gaps_[0]);
 
-    const unsigned int& T = problem_.get_T();
+    unsigned int const& T = problem_.get_T();
     for (unsigned int t = 0; t < T; ++t) {
       ActionModelAbstract* model = problem_.running_models_[t];
       boost::shared_ptr<ActionDataAbstract>& d = problem_.running_datas_[t];
@@ -228,7 +228,7 @@ void SolverFDDP::forwardPass(const double& steplength) {
 
   xnext_ = problem_.get_x0();
 
-  const unsigned int& T = problem_.get_T();
+  unsigned int const& T = problem_.get_T();
   for (unsigned int t = 0; t < T; ++t) {
     ActionModelAbstract* m = problem_.running_models_[t];
     boost::shared_ptr<ActionDataAbstract>& d = problem_.running_datas_[t];