diff --git a/src/parsers/urdf/geometry.cpp b/src/parsers/urdf/geometry.cpp
index ec6a3ebe3725f7244b6415447a340e0346d49d8a..1e462fbb762d1fd44a68209713797fb070343d67 100644
--- a/src/parsers/urdf/geometry.cpp
+++ b/src/parsers/urdf/geometry.cpp
@@ -210,18 +210,18 @@ namespace se3
       * @return Either the first collision or visual
       */
       template<typename T>
-      inline const URDF_SHARED_PTR(T)
+      inline URDF_SHARED_PTR(const T)
       getLinkGeometry(const ::urdf::LinkConstSharedPtr link);
 
       template<>
-      inline const ::urdf::CollisionSharedPtr
+      inline ::urdf::CollisionConstSharedPtr
       getLinkGeometry< ::urdf::Collision>(const ::urdf::LinkConstSharedPtr link)
       {
         return link->collision;
       }
 
       template<>
-      inline const ::urdf::VisualSharedPtr
+      inline ::urdf::VisualConstSharedPtr
       getLinkGeometry< ::urdf::Visual>(const ::urdf::LinkConstSharedPtr link)
       {
         return link->visual;