diff --git a/include/hpp/manipulation/axial-handle.hh b/include/hpp/manipulation/axial-handle.hh
index 28de06e943402494c9285e410a2823bf5e96ac00..605f43688a7728de5cfb9a6e851835cbde0340b1 100644
--- a/include/hpp/manipulation/axial-handle.hh
+++ b/include/hpp/manipulation/axial-handle.hh
@@ -32,6 +32,7 @@ namespace hpp {
     class HPP_MANIPULATION_DLLAPI AxialHandle : public Handle
     {
     public:
+      static std::string className;
       /// Create constraint corresponding to a gripper grasping this object
       /// \param robot the robot that grasps the handle,
       /// \param grasp object containing the grasp information
diff --git a/include/hpp/manipulation/handle.hh b/include/hpp/manipulation/handle.hh
index a0e7ebbec5ad8b4e3f1bf82e3a62f3a7adfb16ab..e59c7843518d462d5813f716fd536f170da8a43e 100644
--- a/include/hpp/manipulation/handle.hh
+++ b/include/hpp/manipulation/handle.hh
@@ -31,6 +31,7 @@ namespace hpp {
     class HPP_MANIPULATION_DLLAPI Handle
     {
     public:
+      static std::string className;
       virtual ~Handle () {};
 
       /// Create constraint corresponding to a gripper grasping this object
diff --git a/src/axial-handle.cc b/src/axial-handle.cc
index 1c5af7e530d6852b363f05b1fa3bc9e99d213c26..5446451cdb51f11e3fbb3e31f5e2544144778e7e 100644
--- a/src/axial-handle.cc
+++ b/src/axial-handle.cc
@@ -30,6 +30,7 @@
 
 namespace hpp {
   namespace manipulation {
+    std::string AxialHandle::className ("AxialHandle");
     static const matrix3_t I3 = matrix3_t::Identity();
 
     AxialHandlePtr_t AxialHandle::create (const std::string& name,
diff --git a/src/handle.cc b/src/handle.cc
index 9ed70574279419b0a67e573b48c47d5aa4af87ce..446fc9b920590a039c92670fbbfdaff158d0c374 100644
--- a/src/handle.cc
+++ b/src/handle.cc
@@ -37,6 +37,7 @@
 
 namespace hpp {
   namespace manipulation {
+    std::string Handle::className ("Handle");
     namespace {
       static const matrix3_t I3 = matrix3_t::Identity();