diff --git a/include/hpp/manipulation/graph/edge.hh b/include/hpp/manipulation/graph/edge.hh
index 5ea948be020cb87421d7e12b684c2337606651db..989be3ab753e0a0a68e5ac9bae82a4e2417cb099 100644
--- a/include/hpp/manipulation/graph/edge.hh
+++ b/include/hpp/manipulation/graph/edge.hh
@@ -555,18 +555,14 @@ namespace hpp {
 
           /// Insert a constraints parameterizing the target state foliation
           /// \param nm the numerical constraint,
-          /// \param passiveDofs the passive degrees of freedom of the
-          ///        constraint.
-          void insertParamConstraint (const ImplicitPtr_t& nm,
-              const segments_t& passiveDofs = segments_t ());
+          void insertParamConstraint (const ImplicitPtr_t& nm);
 
           /// Get constraints parameterizing the target state foliation
           const NumericalConstraints_t& paramConstraints() const;
 
           /// Insert a condition constraint
           /// \sa LevelSetEdge::histogram
-          void insertConditionConstraint (const ImplicitPtr_t& nm,
-              const segments_t& passiveDofs = segments_t ());
+          void insertConditionConstraint (const ImplicitPtr_t& nm);
 
           /// Get constraints parameterizing the target state foliation
           /// \sa LevelSetEdge::histogram
@@ -595,12 +591,10 @@ namespace hpp {
           // Parametrizer
           // NumericalConstraints_t
           NumericalConstraints_t paramNumericalConstraints_;
-          IntervalsContainer_t paramPassiveDofs_;
 
           // Condition
           // NumericalConstraints_t
           NumericalConstraints_t condNumericalConstraints_;
-          IntervalsContainer_t condPassiveDofs_;
 
           /// This histogram will be used to find a good level set.
           LeafHistogramPtr_t hist_;
diff --git a/include/hpp/manipulation/graph/graph-component.hh b/include/hpp/manipulation/graph/graph-component.hh
index f0c9c45586c6e1ca87a99bb28d02aefb4738375a..890ea10b1b00ee856ad87f291aad893a58a10e00 100644
--- a/include/hpp/manipulation/graph/graph-component.hh
+++ b/include/hpp/manipulation/graph/graph-component.hh
@@ -51,11 +51,8 @@ namespace hpp {
           }
 
           /// Add Implicit to the component.
-          /// \param passiveDofs see ConfigProjector::addNumericalConstraint
-          //         for more information.
           virtual void addNumericalConstraint (
-              const ImplicitPtr_t& numConstraint,
-              const segments_t& passiveDofs = segments_t ());
+              const ImplicitPtr_t& numConstraint);
 
           /// Add a cost function Implicit to the component.
           virtual void addNumericalCost (const ImplicitPtr_t& numCost);
@@ -63,43 +60,16 @@ namespace hpp {
 	  /// Reset the numerical constraints stored in the component.
 	  virtual void resetNumericalConstraints ();
 
-          /// Add core::LockedJoint constraint to the component.
-          /// \deprecated LockedJoint are handled as classical explicit
-          ///             constraint
-          virtual void addLockedJointConstraint
-	    (const LockedJointPtr_t& constraint) HPP_MANIPULATION_DEPRECATED;
-
-          /// \deprecated LockedJoint are handled as classical explicit
-          ///             constraint
-	  /// Reset the locked joint in the component.
-	  virtual void resetLockedJoints () HPP_MANIPULATION_DEPRECATED;
-
           /// Insert the numerical constraints in a ConfigProjector
           /// \return true is at least one ImplicitPtr_t was inserted.
           bool insertNumericalConstraints (ConfigProjectorPtr_t& proj) const;
 
-          /// Insert the LockedJoint constraints in a ConstraintSet
-          /// \return true is at least one LockedJointPtr_t was inserted.
-          /// \deprecated LockedJoint are handled as classical explicit
-          ///             constraint
-          bool insertLockedJoints (ConfigProjectorPtr_t& cs) const
-            HPP_MANIPULATION_DEPRECATED;
-
           /// Get a reference to the NumericalConstraints_t
           const NumericalConstraints_t& numericalConstraints() const;
 
           /// Get a reference to the NumericalConstraints_t
           const NumericalConstraints_t& numericalCosts() const;
 
-          /// Get a reference to the NumericalConstraints_t
-          const IntervalsContainer_t& passiveDofs() const;
-
-          /// Get a reference to the LockedJoints_t
-          /// \deprecated LockedJoint are handled as classical explicit
-          ///             constraint
-          const LockedJoints_t& lockedJoints () const
-            HPP_MANIPULATION_DEPRECATED;
-
           /// Set the parent graph.
           void parentGraph(const GraphWkPtr_t& parent);
 
@@ -131,12 +101,8 @@ namespace hpp {
 
           /// Stores the numerical constraints.
           NumericalConstraints_t numericalConstraints_;
-          /// Stores the passive dofs for each numerical constraints.
-          IntervalsContainer_t passiveDofs_;
           /// Stores the numerical costs.
           NumericalConstraints_t numericalCosts_;
-          /// List of LockedJoint constraints: \todo to be removed
-          const LockedJoints_t lockedJoints_;
           /// A weak pointer to the parent graph.
           GraphWkPtr_t graph_;
 
diff --git a/include/hpp/manipulation/graph/state.hh b/include/hpp/manipulation/graph/state.hh
index 7970bf67da22ed3c8409372c5fc3b06dfa89b120..52f230d2be3567bc78757903f1e359523f5580e0 100644
--- a/include/hpp/manipulation/graph/state.hh
+++ b/include/hpp/manipulation/graph/state.hh
@@ -127,12 +127,10 @@ namespace hpp {
           }
 
           /// Add constraints::Implicit to the component.
-          virtual void addNumericalConstraintForPath (const ImplicitPtr_t& nm,
-              const segments_t& passiveDofs = segments_t ())
+          virtual void addNumericalConstraintForPath (const ImplicitPtr_t& nm)
           {
             invalidate();
             numericalConstraintsForPath_.push_back (nm);
-            passiveDofsForPath_.push_back (passiveDofs);
           }
 
           /// Insert the numerical constraints in a ConfigProjector
@@ -178,7 +176,6 @@ namespace hpp {
 
           /// Stores the numerical constraints for path.
           NumericalConstraints_t numericalConstraintsForPath_;
-          IntervalsContainer_t passiveDofsForPath_;
 
           /// A selector that will implement the selection of the next state.
           StateSelectorWkPtr_t selector_;
diff --git a/src/graph/edge.cc b/src/graph/edge.cc
index 7d84052147e70831140434580954a54a74d9f23d..aec79e65dc648b0303325d1ce560f61ce12aec0f 100644
--- a/src/graph/edge.cc
+++ b/src/graph/edge.cc
@@ -803,12 +803,10 @@ namespace hpp {
       }
 
       void LevelSetEdge::insertParamConstraint
-      (const constraints::ImplicitPtr_t& nm,
-              const segments_t& passiveDofs)
+      (const constraints::ImplicitPtr_t& nm)
       {
         invalidate ();
         paramNumericalConstraints_.push_back (nm);
-        paramPassiveDofs_.push_back (passiveDofs);
       }
 
       const NumericalConstraints_t& LevelSetEdge::paramConstraints() const
@@ -817,12 +815,10 @@ namespace hpp {
       }
 
       void LevelSetEdge::insertConditionConstraint
-      (const constraints::ImplicitPtr_t& nm,
-              const segments_t& passiveDofs)
+      (const constraints::ImplicitPtr_t& nm)
       {
         invalidate ();
         condNumericalConstraints_.push_back (nm);
-        condPassiveDofs_.push_back (passiveDofs);
       }
 
       const NumericalConstraints_t& LevelSetEdge::conditionConstraints() const
diff --git a/src/graph/graph-component.cc b/src/graph/graph-component.cc
index 50ef1a791a6d7a7ffe6aca796ba705303bdb1043..ec63fa05dd6755e7d460202c8aed0ad516812dff 100644
--- a/src/graph/graph-component.cc
+++ b/src/graph/graph-component.cc
@@ -18,7 +18,6 @@
 
 #include <hpp/core/config-projector.hh>
 #include <hpp/core/constraint-set.hh>
-#include <hpp/constraints/locked-joint.hh>
 #include <hpp/constraints/implicit.hh>
 
 #include <hpp/constraints/differentiable-function.hh>
@@ -51,12 +50,10 @@ namespace hpp {
         invalidate();
       }
 
-      void GraphComponent::addNumericalConstraint (const ImplicitPtr_t& nm,
-          const segments_t& passiveDofs)
+      void GraphComponent::addNumericalConstraint (const ImplicitPtr_t& nm)
       {
         invalidate();
         numericalConstraints_.push_back(nm);
-        passiveDofs_.push_back (passiveDofs);
       }
 
       void GraphComponent::addNumericalCost (const ImplicitPtr_t& cost)
@@ -69,20 +66,9 @@ namespace hpp {
       {
         invalidate();
 	numericalConstraints_.clear();
-        passiveDofs_.clear();
         numericalCosts_.clear();
       }
 
-      void GraphComponent::addLockedJointConstraint
-      (const LockedJointPtr_t& constraint)
-      {
-        addNumericalConstraint (constraint);
-      }
-
-      void GraphComponent::resetLockedJoints ()
-      {
-      }
-
       bool GraphComponent::insertNumericalConstraints (ConfigProjectorPtr_t& proj) const
       {
         for (const auto& nc : numericalConstraints_)
@@ -102,16 +88,6 @@ namespace hpp {
         return numericalCosts_;
       }
 
-      const std::vector <segments_t>& GraphComponent::passiveDofs() const
-      {
-        return passiveDofs_;
-      }
-
-      const LockedJoints_t& GraphComponent::lockedJoints () const
-      {
-        return lockedJoints_;
-      }
-
       GraphPtr_t GraphComponent::parentGraph() const
       {
         return graph_.lock ();