diff --git a/Code/Projections/otbSensorModelBase.h b/Code/Projections/otbSensorModelBase.h
index 88e089587b3ca7422b108421fcc1457dacdc930f..9ffc6ac859f934719fc85f9a04267b8a27c01deb 100644
--- a/Code/Projections/otbSensorModelBase.h
+++ b/Code/Projections/otbSensorModelBase.h
@@ -83,7 +83,7 @@ public :
   ossimProjection* GetOssimModel(void);
 
   /* Set the Imagekeywordlist and affect the ossim projection ( m_Model) */
-  virtual void SetImageGeometry(const ImageKeywordlist image_kwl);
+  virtual void SetImageGeometry(const ImageKeywordlist &image_kwl);
 
   /* Set the Imagekeywordlist and affect the ossim projection ( m_Model) */
   virtual void SetImageGeometry(const ossimKeywordlist &geom_kwl);
diff --git a/Code/Projections/otbSensorModelBase.txx b/Code/Projections/otbSensorModelBase.txx
index c77e84ce8f2bb72d45e125d066e083604df95115..96ad5cfcdad87d53d6e516bdb1bdb0dfc450823f 100644
--- a/Code/Projections/otbSensorModelBase.txx
+++ b/Code/Projections/otbSensorModelBase.txx
@@ -110,7 +110,7 @@ unsigned int NOutputDimensions,
 unsigned int NParametersDimensions >
 void
 SensorModelBase< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions>
-::SetImageGeometry(const ImageKeywordlist image_kwl)
+::SetImageGeometry(const ImageKeywordlist & image_kwl)
 {
   m_ImageKeywordlist = image_kwl;
   CreateProjection(m_ImageKeywordlist);
@@ -145,7 +145,6 @@ SensorModelBase< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimen
   image_kwl.convertToOSSIMKeywordlist(geom);
   otbMsgDevMacro(<< "CreateProjection(): ossimKeywordlist: " << geom);
 
-//   m_Model = ossimProjectionFactoryRegistry::instance()->createProjection(geom);
   m_Model = ossimSensorModelFactory::instance()->createProjection(geom);
   if ( m_Model == NULL)
   {