diff --git a/include/hpp/fcl/shape/geometric_shapes.h b/include/hpp/fcl/shape/geometric_shapes.h
index fa0f2e4a9d2b3ef609bf4b36e2885d8d171a10c3..2aa5b444fbd1b665993b5946f3810467bc9753c8 100644
--- a/include/hpp/fcl/shape/geometric_shapes.h
+++ b/include/hpp/fcl/shape/geometric_shapes.h
@@ -149,6 +149,8 @@ class Capsule : public ShapeBase
 public:
   Capsule(FCL_REAL radius_, FCL_REAL lz_) : ShapeBase(), radius(radius_), lz(lz_)
   {
+    lz = 0;
+    HalfLength = lz/2;
   }
 
  // Capsule::Capsule() : HalfLength(lz/2), lz(0){} 
@@ -194,6 +196,8 @@ class Cone : public ShapeBase
 public:
   Cone(FCL_REAL radius_, FCL_REAL lz_) : ShapeBase(), radius(radius_), lz(lz_)
   {
+    lz = 0;
+    HalfLength = lz/2;
   }
 
   //Cone::Cone() : HalfLength(lz/2), lz(0){} 
@@ -241,6 +245,8 @@ class Cylinder : public ShapeBase
 public:
   Cylinder(FCL_REAL radius_, FCL_REAL lz_) : ShapeBase(), radius(radius_), lz(lz_)
   {
+    lz = 0;
+    HalfLength = lz/2;
   }
 
  // Cylinder::Cylinder() : HalfLength(lz/2), lz(0){}