diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperCompositeApplication.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperCompositeApplication.cxx
index a40fe88dca24bc8436744db84bbdde654ac0ac37..165eea3a0682e39e1838b336e75a76ee6d8cd7d8 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperCompositeApplication.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperCompositeApplication.cxx
@@ -178,15 +178,31 @@ CompositeApplication
     this->GetLogger()->Write( itk::LoggerBase::FATAL, std::string("\n") + m_Oss.str() );
     throw;
     }
-  otbAppLogINFO(<< "\n" << m_Oss.str());
-  m_Oss.str(std::string(""));
+  if(!m_Oss.str().empty())
+    {
+    otbAppLogINFO(<< "\n" << m_Oss.str());
+    m_Oss.str(std::string(""));
+    }
 }
 
 void
 CompositeApplication
 ::UpdateInternalParameters(std::string key)
 {
-  GetInternalApplication(key)->UpdateParameters();
+  try
+    {
+    GetInternalApplication(key)->UpdateParameters();
+    }
+  catch(...)
+    {
+    this->GetLogger()->Write( itk::LoggerBase::FATAL, std::string("\n") + m_Oss.str() );
+    throw;
+    }
+  if(!m_Oss.str().empty())
+    {
+    otbAppLogINFO(<< "\n" << m_Oss.str());
+    m_Oss.str(std::string(""));
+    }
 }
 
 } // end namespace Wrapper