diff --git a/Code/IO/otbImageFileReader.txx b/Code/IO/otbImageFileReader.txx
index 631ed8aed748f96e243218e66a452f6c0fa37a2d..fd7f6177a31dd2360095040d768431280e2a58c2 100644
--- a/Code/IO/otbImageFileReader.txx
+++ b/Code/IO/otbImageFileReader.txx
@@ -34,6 +34,7 @@
 #include "base/ossimKeywordlist.h"
 // #include "ossim/projection/ossimProjectionFactoryRegistry.h"
 // #include "ossim/ossimPluginProjectionFactory.h"
+#include "ossim/ossimPluginReaderFactory.h"
 
 #include <itksys/SystemTools.hxx>
 #include <fstream>
@@ -332,11 +333,15 @@ ImageFileReader<TOutputImage>
 
   // Trying to read ossim MetaData
 
+  // Add the plugins factory
+  ossimImageHandlerRegistry::instance()->addFactory(ossimPluginReaderFactory::instance());
+
   // Add the radar factory
   ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance());
 
 
-  ossimImageHandler* handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(lFileNameOssimKeywordlist.c_str()));
+  ossimImageHandler* handler = ossimImageHandlerRegistry::instance()
+     ->open(ossimFilename(lFileNameOssimKeywordlist.c_str()));
 
   if (!handler)
   {
diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerSarFactory.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerSarFactory.cpp
index 49d5924b56bf76fcfa2f7aa83f557bb62a45d7e8..af3f1ed4b34d8b8adb39ee685c045d3424fefe00 100644
--- a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerSarFactory.cpp
+++ b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerSarFactory.cpp
@@ -11,7 +11,7 @@
 #include <ossim/base/ossimKeywordNames.h>
 #include <ossim/imaging/ossimRadarSatTileSource.h>
 #include <ossim/imaging/ossimRadarSat2TileSource.h>
-#include <ossim/imaging/ossimTerraSarTileSource.h>
+// #include <ossim/imaging/ossimTerraSarTileSource.h>
 //#include <ossim/imaging/ossimCosmoSkymedTileSource.h>
 #include <ossim/imaging/ossimEnvisatAsarTileSource.h>
 #include <ossim/imaging/ossimErsSarTileSource.h>
@@ -75,18 +75,18 @@ ossimImageHandler* ossimImageHandlerSarFactory::open(const ossimFilename& fileNa
    delete result;
 
    // TerraSar
-	if(traceDebug())
-   {
-      ossimNotify(ossimNotifyLevel_DEBUG)
-         << "trying TerraSar"
-         << std::endl;
-   }
-   result = new ossimTerraSarTileSource;
-   if(result->open(copyFilename))
-   {
-      return result;
-   }
-   delete result;
+// 	if(traceDebug())
+//    {
+//       ossimNotify(ossimNotifyLevel_DEBUG)
+//          << "trying TerraSar"
+//          << std::endl;
+//    }
+//    result = new ossimTerraSarTileSource;
+//    if(result->open(copyFilename))
+//    {
+//       return result;
+//    }
+//    delete result;
 
    // Envisat ASAR
    if(traceDebug())
@@ -176,18 +176,18 @@ ossimImageHandler* ossimImageHandlerSarFactory::open(const ossimKeywordlist& kwl
    }
    delete result;
 
-	if(traceDebug())
-   {
-      ossimNotify(ossimNotifyLevel_DEBUG)
-         << "trying TerraSar"
-         << std::endl;
-   }
-   result  = new ossimTerraSarTileSource();
-   if(result->loadState(kwl, prefix))
-   {
-      return result;
-   }
-   delete result;
+// 	if(traceDebug())
+//    {
+//       ossimNotify(ossimNotifyLevel_DEBUG)
+//          << "trying TerraSar"
+//          << std::endl;
+//    }
+//    result  = new ossimTerraSarTileSource();
+//    if(result->loadState(kwl, prefix))
+//    {
+//       return result;
+//    }
+//    delete result;
 
 	if(traceDebug())
    {
@@ -256,10 +256,10 @@ ossimObject* ossimImageHandlerSarFactory::createObject(const ossimString& typeNa
    {
       return new ossimRadarSatTileSource();
    }
-	if(STATIC_TYPE_NAME(ossimTerraSarTileSource) == typeName)
-   {
-      return new ossimTerraSarTileSource();
-   }
+// 	if(STATIC_TYPE_NAME(ossimTerraSarTileSource) == typeName)
+//    {
+//       return new ossimTerraSarTileSource();
+//    }
 	if(STATIC_TYPE_NAME(ossimEnvisatAsarTileSource) == typeName)
    {
       return new ossimEnvisatAsarTileSource();
@@ -335,7 +335,7 @@ ossimObject* ossimImageHandlerSarFactory::createObject(const ossimKeywordlist& k
 void ossimImageHandlerSarFactory::getTypeNameList(std::vector<ossimString>& typeList)const
 {
 	typeList.push_back(STATIC_TYPE_NAME(ossimRadarSatTileSource));
-	typeList.push_back(STATIC_TYPE_NAME(ossimTerraSarTileSource));
+// 	typeList.push_back(STATIC_TYPE_NAME(ossimTerraSarTileSource));
 	typeList.push_back(STATIC_TYPE_NAME(ossimEnvisatAsarTileSource));
 	//typeList.push_back(STATIC_TYPE_NAME(ossimCosmoSkymedTileSource));
 	typeList.push_back(STATIC_TYPE_NAME(ossimErsSarTileSource));