diff --git a/Code/IO/otbDEMHandler.cxx b/Code/IO/otbDEMHandler.cxx
index 9c7aa7d2db4ec6083b411f83421bb5074f818c35..778923a4615694281f23c04da6e89e2b5ec472f0 100644
--- a/Code/IO/otbDEMHandler.cxx
+++ b/Code/IO/otbDEMHandler.cxx
@@ -26,7 +26,6 @@ namespace otb
   ::DEMHandler()
   {
     m_ElevManager=ossimElevManager::instance();
-    m_Mutex.Unlock();
   }
 
 
@@ -46,11 +45,10 @@ namespace otb
     m_Mutex.Lock();
     ossimFilename ossimDEMDir;
     ossimDEMDir=ossimFilename(DEMDirectory);
-
     if (!m_ElevManager->openDirectory(ossimDEMDir))
       {
 	m_Mutex.Unlock();
-	itkExceptionMacro("Not possible to open DEM Directory");
+	itkExceptionMacro("Failed to open DEM Directory: "<<ossimDEMDir);
       }
     m_Mutex.Unlock();
   }
diff --git a/Code/IO/otbImageGeometryHandler.cxx b/Code/IO/otbImageGeometryHandler.cxx
index 9c3d8abd686af38537f9d22853612334cb8c2b6d..7dc3d1d906e36fb43555667ce2b56f031b8195d8 100644
--- a/Code/IO/otbImageGeometryHandler.cxx
+++ b/Code/IO/otbImageGeometryHandler.cxx
@@ -52,7 +52,8 @@ ImageGeometryHandler::ImageGeometryHandler()
       /***************************/
 ImageGeometryHandler::~ImageGeometryHandler()
 {
-delete handler;
+//Not needed since we use the instance method
+//delete handler;
 }
       
       /***************************/