diff --git a/Code/Projections/otbUtmMapProjection.h b/Code/Projections/otbUtmMapProjection.h
index f30ba4e544d5556335f0d9dd1a83dba8b073404c..b031c63ba05f9d1af083d8a87db9774d4dd34a51 100644
--- a/Code/Projections/otbUtmMapProjection.h
+++ b/Code/Projections/otbUtmMapProjection.h
@@ -53,7 +53,7 @@ public:
   virtual void SetZone(long zone);
   virtual void SetHemisphere(char hemisphere);
   virtual int GetZone() const;
-  virtual const char GetHemisphere() const;
+  virtual char GetHemisphere() const;
 
   virtual void SetZoneAndHemisphereFromGeoPoint(const InputPointType& geoPoint);
   virtual int GetZoneFromGeoPoint(const InputPointType& geoPoint) const;
diff --git a/Code/Projections/otbUtmMapProjection.txx b/Code/Projections/otbUtmMapProjection.txx
index 6d1ffd46ea162ca99625b078f2b89c2b653aba1b..450e166099ed39206dfaeda9483066bc5a1e91db 100644
--- a/Code/Projections/otbUtmMapProjection.txx
+++ b/Code/Projections/otbUtmMapProjection.txx
@@ -68,7 +68,7 @@ int UtmMapProjection<TTransform>
 
 ///\return the hemisphere
 template <TransformDirection::TransformationDirection TTransform>
-const char UtmMapProjection<TTransform>
+char UtmMapProjection<TTransform>
 ::GetHemisphere() const
 {
   char hemisphere = this->m_MapProjection->getHemisphere();