diff --git a/include/hpp/manipulation/fwd.hh b/include/hpp/manipulation/fwd.hh
index c076ca844aeef8129d9cad97e29a963db246726a..ae6263403b4e5797fb3101563ddac61b6e66819a 100644
--- a/include/hpp/manipulation/fwd.hh
+++ b/include/hpp/manipulation/fwd.hh
@@ -104,6 +104,7 @@ namespace hpp {
     typedef core::LockedJointPtr_t LockedJointPtr_t;
     typedef core::NumericalConstraint NumericalConstraint;
     typedef core::NumericalConstraintPtr_t NumericalConstraintPtr_t;
+    typedef hpp::core::ComparisonTypes_t ComparisonTypes_t;
     typedef core::ConfigProjector ConfigProjector;
     typedef core::ConfigProjectorPtr_t ConfigProjectorPtr_t;
     HPP_PREDEF_CLASS (ConstraintSet);
diff --git a/include/hpp/manipulation/graph/edge.hh b/include/hpp/manipulation/graph/edge.hh
index 1c6be4ed7bfd3531cca864ca71c93ff117af9f2d..641a69bb401c8fa530d241b04894d3790a974d7d 100644
--- a/include/hpp/manipulation/graph/edge.hh
+++ b/include/hpp/manipulation/graph/edge.hh
@@ -308,7 +308,7 @@ namespace hpp {
           void insertParamConstraint (const NumericalConstraintPtr_t& nm,
               const segments_t& passiveDofs = segments_t ());
 
-          void insertParamConstraint (const DifferentiableFunctionPtr_t function, const ComparisonTypePtr_t ineq)
+          void insertParamConstraint (const DifferentiableFunctionPtr_t function, const ComparisonTypes_t ineq)
             HPP_MANIPULATION_DEPRECATED;
 
           /// Insert a LockedJoint that parametrizes the foliation
diff --git a/include/hpp/manipulation/graph/graph-component.hh b/include/hpp/manipulation/graph/graph-component.hh
index b5479a568fe32cc6948765e3f1330ddaef4772a8..0c4e769686cb3b3a941e5a1ec3037897689656e5 100644
--- a/include/hpp/manipulation/graph/graph-component.hh
+++ b/include/hpp/manipulation/graph/graph-component.hh
@@ -61,7 +61,7 @@ namespace hpp {
 
           /// Add core::DifferentiableFunction to the component.
           virtual void addNumericalConstraint
-            (const DifferentiableFunctionPtr_t& function, const ComparisonTypePtr_t& ineq)
+            (const DifferentiableFunctionPtr_t& function, const ComparisonTypes_t& ineq)
             HPP_MANIPULATION_DEPRECATED;
 
 	  /// Reset the numerical constraints stored in the component.
diff --git a/include/hpp/manipulation/graph/state.hh b/include/hpp/manipulation/graph/state.hh
index 66b54fcfd1d381922bdb252b699b7d471b41943a..2e00d5e2052eaabc1742d11752f14fc58961d8d9 100644
--- a/include/hpp/manipulation/graph/state.hh
+++ b/include/hpp/manipulation/graph/state.hh
@@ -120,7 +120,7 @@ namespace hpp {
           }
 
           /// Add core::DifferentiableFunction to the component.
-          virtual void addNumericalConstraintForPath (const DifferentiableFunctionPtr_t& function, const ComparisonTypePtr_t& ineq)
+          virtual void addNumericalConstraintForPath (const DifferentiableFunctionPtr_t& function, const ComparisonTypes_t& ineq)
             HPP_MANIPULATION_DEPRECATED
           {
             isInit_ = false;
diff --git a/src/axial-handle.cc b/src/axial-handle.cc
index 6b195488318b6bd7a03cddb2332f6a77a2984fbb..df032c1a29c78352e68faf7e5ee1ead6f5db132a 100644
--- a/src/axial-handle.cc
+++ b/src/axial-handle.cc
@@ -56,14 +56,12 @@ namespace hpp {
         (true);
       if (n.empty())
         n = "Transformation_(0,0,0,0,0,1)_" + name() + "_" + gripper->name();
-      return NumericalConstraintPtr_t
-	(NumericalConstraint::create (RelativeTransformation::create
-				      (n,
-				       gripper->joint()->robot(),
-				       gripper->joint (), joint (),
-				       gripper->objectPositionInJoint (),
-				       localPosition(), mask),
-				      core::Equality::create ()));
+      return NumericalConstraint::create (RelativeTransformation::create
+          (n, gripper->joint()->robot(),
+           gripper->joint (), joint (),
+           gripper->objectPositionInJoint (),
+           localPosition(), mask),
+          ComparisonTypes_t (1, constraints::Equality));
     }
 
     NumericalConstraintPtr_t AxialHandle::createPreGrasp
diff --git a/src/graph/edge.cc b/src/graph/edge.cc
index 8c7fdd8863c3d2366641cd996ffc95e834afe943..3c83dbfdd43a6d2ada98d353bba320f510c20a11 100644
--- a/src/graph/edge.cc
+++ b/src/graph/edge.cc
@@ -681,7 +681,7 @@ namespace hpp {
         paramPassiveDofs_.push_back (passiveDofs);
       }
 
-      void LevelSetEdge::insertParamConstraint (const DifferentiableFunctionPtr_t function, const ComparisonTypePtr_t ineq)
+      void LevelSetEdge::insertParamConstraint (const DifferentiableFunctionPtr_t function, const ComparisonTypes_t ineq)
       {
         isInit_ = false;
         insertParamConstraint (NumericalConstraint::create (function, ineq));
diff --git a/src/graph/graph-component.cc b/src/graph/graph-component.cc
index e0ffc977dd9799399094079fd96da50b2f1faa78..b53bfd0a08b04fac7e4c91f5ff75c3c31526f139 100644
--- a/src/graph/graph-component.cc
+++ b/src/graph/graph-component.cc
@@ -53,7 +53,7 @@ namespace hpp {
         passiveDofs_.push_back (passiveDofs);
       }
 
-      void GraphComponent::addNumericalConstraint (const DifferentiableFunctionPtr_t& function, const ComparisonTypePtr_t& ineq)
+      void GraphComponent::addNumericalConstraint (const DifferentiableFunctionPtr_t& function, const ComparisonTypes_t& ineq)
       {
         addNumericalConstraint (NumericalConstraint::create (function,ineq));
       }
diff --git a/src/handle.cc b/src/handle.cc
index 3524ace4c774cd8da22d6d5d29a2056112ac8dac..c3d54d7a5b83883fbd884cb38c76953b97b3dc3c 100644
--- a/src/handle.cc
+++ b/src/handle.cc
@@ -149,11 +149,8 @@ namespace hpp {
            gripper->joint (), joint (),
            gripper->objectPositionInJoint (),
            localPosition(), Cmask);
-        return NumericalConstraintPtr_t (NumericalConstraint::create
-            (function,
-             core::ComparisonTypes::create(function->outputSize(),
-                                           core::ComparisonType::Equality)
-             ));
+        return NumericalConstraint::create (function,
+            ComparisonTypes_t(function->outputSize(), constraints::Equality));
       }
     }
 
diff --git a/src/problem-solver.cc b/src/problem-solver.cc
index 694ea363be0f880e561cfdc47d3e50288c8e579e..bc5f08ad9dd54628f6fd79f8727be1cfa7b12640 100644
--- a/src/problem-solver.cc
+++ b/src/problem-solver.cc
@@ -35,7 +35,6 @@
 #include <hpp/core/roadmap.hh>
 #include <hpp/core/steering-method/hermite.hh>
 #include <hpp/core/steering-method/straight.hh>
-#include <hpp/core/comparison-type.hh>
 
 #include "hpp/manipulation/package-config.hh" // HPP_MANIPULATION_HAS_WHOLEBODY_STEP
 
@@ -245,9 +244,9 @@ namespace hpp {
 			      (constraints.first));
       addNumericalConstraint (complementName, NumericalConstraint::create
 			      (constraints.second,
-                               core::ComparisonTypes::create
+                               ComparisonTypes_t
                                (constraints.second->outputSize(),
-                                core::ComparisonType::Equality))
+                                constraints::Equality))
                               );
     }