diff --git a/include/hpp/manipulation/path-optimization/spline-gradient-based.hh b/include/hpp/manipulation/path-optimization/spline-gradient-based.hh
index e595b3b6f9c312a5058999beb6f3ad4aac2c682a..246dd5b38b1b49a115e0e97220166688ed73ef05 100644
--- a/include/hpp/manipulation/path-optimization/spline-gradient-based.hh
+++ b/include/hpp/manipulation/path-optimization/spline-gradient-based.hh
@@ -40,9 +40,9 @@ namespace hpp {
             Parent_t;
           typedef boost::shared_ptr<SplineGradientBased> Ptr_t;
 
-          typedef typename Parent_t::Spline      Spline;
-          typedef typename Parent_t::SplinePtr_t SplinePtr_t;
-          typedef typename Parent_t::Splines_t   Splines_t;
+          using typename Parent_t::Spline;
+          using typename Parent_t::SplinePtr_t;
+          using typename Parent_t::Splines_t;
 
           /// Return shared pointer to new object.
           static Ptr_t create (const Problem& problem);
@@ -54,15 +54,15 @@ namespace hpp {
           static Ptr_t createFromCore (const core::Problem& problem);
 
         protected:
-          typedef typename Parent_t::LinearConstraint LinearConstraint;
-          typedef typename Parent_t::Solvers_t        Solvers_t;
+          typedef typename hpp::core::pathOptimization::LinearConstraint LinearConstraint;
+          using typename Parent_t::SplineOptimizationDatas_t;
 
           SplineGradientBased (const Problem& problem);
 
           virtual void initializePathValidation(const Splines_t& splines);
 
           virtual void addProblemConstraints (const core::PathVectorPtr_t& init,
-              const Splines_t& splines, LinearConstraint& lc, Solvers_t& ess) const;
+              const Splines_t& splines, LinearConstraint& lc, SplineOptimizationDatas_t& sods) const;
 
           virtual void constrainEndIntoState (const core::PathPtr_t& path,
               const size_type& idxSpline, const SplinePtr_t& spline,
diff --git a/src/path-optimization/spline-gradient-based.cc b/src/path-optimization/spline-gradient-based.cc
index 288e959db696b2398dce76b5395784498323c099..d7b169e22a362ffcbe38199e32b7fbe4f3656c85 100644
--- a/src/path-optimization/spline-gradient-based.cc
+++ b/src/path-optimization/spline-gradient-based.cc
@@ -16,7 +16,7 @@
 
 #include <hpp/manipulation/path-optimization/spline-gradient-based.hh>
 
-#include <hpp/core/path-optimization/spline-gradient-based/linear-constraint.hh>
+#include <hpp/core/path-optimization/linear-constraint.hh>
 
 #include <hpp/manipulation/constraint-set.hh>
 #include <hpp/manipulation/graph/state.hh>
@@ -70,9 +70,9 @@ namespace hpp {
 
       template <int _PB, int _SO>
       void SplineGradientBased<_PB, _SO>::addProblemConstraints
-      (const core::PathVectorPtr_t& init, const Splines_t& splines, LinearConstraint& lc, Solvers_t& ss) const
+      (const core::PathVectorPtr_t& init, const Splines_t& splines, LinearConstraint& lc, SplineOptimizationDatas_t& sods) const
       {
-        assert (init->numberPaths() == splines.size() && ss.size() == splines.size());
+        assert (init->numberPaths() == splines.size() && sods.size() == splines.size());
 
         bool zeroDerivative = this->problem().getParameter ("SplineGradientBased/zeroDerivativesAtStateIntersection", false);
 
@@ -86,7 +86,7 @@ namespace hpp {
                 "generated with a graph.");
           graph::EdgePtr_t transition = set->edge();
 
-          this->addProblemConstraintOnPath (path, i, splines[i], lc, ss[i]);
+          this->addProblemConstraintOnPath (path, i, splines[i], lc, sods[i]);
 
           // The path should always go through the start and end states of the
           // transition.
@@ -164,7 +164,7 @@ namespace hpp {
             }
           }
         }
-        this->addProblemConstraintOnPath (init->pathAtRank(last), last, splines[last], lc, ss[last]);
+        this->addProblemConstraintOnPath (init->pathAtRank(last), last, splines[last], lc, sods[last]);
       }
 
       template <int _PB, int _SO>