diff --git a/src/robot.cc b/src/robot.cc
index 8645fdaa726b52d99154e3f95c7a5f483caefde2..f896dff6cdafd725c80345e32312abadb53182ee 100644
--- a/src/robot.cc
+++ b/src/robot.cc
@@ -145,6 +145,18 @@ namespace hpp {
                itJoint != joints.end() ; itJoint++ ) {
           gripper->addDisabledCollision(jointMap_[*itJoint]);
         }
+        if ((*itGripper)->isParameterActive ())
+        {
+          JointVector_t innerJoints = (*itGripper)->innerJoints(),
+                        innerJointsNew;
+          for (model::JointVector_t::const_iterator itJoint = innerJoints.begin() ;
+              itJoint != innerJoints.end() ; itJoint++ ) {
+            innerJointsNew.push_back(jointMap_[*itJoint]);
+          }
+          gripper->innerJoints (innerJointsNew);
+          gripper->openConfig ((*itGripper)->openConfig ());
+          gripper->closedConfig ((*itGripper)->closedConfig ());
+        }
 	addGripper (gripper->name (), gripper);
       }
     }