diff --git a/Code/IO/otbMapProjectionWrapper.cxx b/Code/IO/otbMapProjectionWrapper.cxx
index 876af945777cb95273a4cb9efbfa52df5f03af4c..d2675c160571d3798a996c166ae61afe2931c3c0 100644
--- a/Code/IO/otbMapProjectionWrapper.cxx
+++ b/Code/IO/otbMapProjectionWrapper.cxx
@@ -102,25 +102,45 @@ bool MapProjectionWrapper::InstanciateProjection()
 
     bool projectionInformationAvailable = wktTranslator.toOssimKwl(m_ProjectionRefWkt, kwl);
 
-    if (!projectionInformationAvailable)
+    if (projectionInformationAvailable)
       {
-      otbMsgDevMacro(<< "WARNING: Impossible to create the projection from string: " << m_ProjectionRefWkt);
-      return false;
-      }
 
-    //we don't want to have a ossimEquDistCylProjection here:
-    //see discussion in May 2009 on ossim list;
-    //a better solution might be available...
-    std::string projectionString(kwl.find("type"));
-    if (projectionString.find("ossimEquDistCylProjection") != string::npos)
-      {
-      otbMsgDevMacro(<< "WARNING: Not instanciating a ossimEquDistCylProjection: " << projectionString);
-      otbMsgDevMacro(<< "Wkt was: " << kwl);
-      otbMsgDevMacro(<< "From RefWkt: " << m_ProjectionRefWkt);
-      return false;
+      //we don't want to have a ossimEquDistCylProjection here:
+      //see discussion in May 2009 on ossim list;
+      //a better solution might be available...
+      std::string projectionString(kwl.find("type"));
+      if (projectionString.find("ossimEquDistCylProjection") != string::npos)
+        {
+        otbMsgDevMacro(<< "WARNING: Not instanciating a ossimEquDistCylProjection: " << projectionString);
+        otbMsgDevMacro(<< "Wkt was: " << kwl);
+        otbMsgDevMacro(<< "From RefWkt: " << m_ProjectionRefWkt);
+        return false;
+        }
+
+      m_MapProjection = ossimMapProjectionFactory::instance()->createProjection(kwl);
+
       }
+    else
+      {
+      otbMsgDevMacro(<< "WARNING: Impossible to create the projection from Wkt: " << m_ProjectionRefWkt);
+      otbMsgDevMacro(<< "Trying with string as a string (ossimUtmProjection or Utm would qualify");
+      // Trying directly with the m_ProjectionRefWkt (is
+      // ossimUtmProjection for example)
+      ossimString name(m_ProjectionRefWkt);
+      m_MapProjection = ossimMapProjectionFactory::instance()->createProjection(name);
+      if (m_MapProjection == NULL)
+        {
+        // Trying directly extending the m_ProjectionRefWkt (convert the
+        // Utm to ossimUtmProjection for example)
+        ossimString extendedName("ossim");
+        extendedName += m_ProjectionRefWkt;
+        extendedName += "Projection";
+        m_MapProjection = ossimMapProjectionFactory::instance()->createProjection(extendedName);
+        }
+
+      if (m_MapProjection == NULL) return false;
 
-    m_MapProjection = ossimMapProjectionFactory::instance()->createProjection(kwl);
+      }
 
     this->reinstanciateProjection = false;
     return true;