diff --git a/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.cxx b/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.cxx
index 3f180ec29847b4d1c1ba0e4049205ab3990b0e24..578d8e15ed53c5bc46e41e4f228f89e1e5bc6511 100644
--- a/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.cxx
+++ b/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.cxx
@@ -107,6 +107,12 @@ CommandLineLauncher::Load()
     itkExceptionMacro("No expression specified...");
     }
 
+  if( this->CheckParametersPrefix() == false )
+    {
+    std::cerr<<"ERROR: Parameter keys have to set using \"--\""<<std::endl;
+    return false;
+    }
+
   if( this->CheckUnicity() == false )
     {
     std::cerr<<"ERROR: At least one key is not unique in the expression..."<<std::endl;
@@ -798,6 +804,35 @@ CommandLineLauncher::CheckUnicity()
   return res;
 }
 
+bool
+CommandLineLauncher::CheckParametersPrefix()
+{
+  bool res = true;
+  // Extract Expression elements
+  std::vector<itksys::String> spaceSplittedExp = itksys::SystemTools::SplitString(m_Expression.c_str(), ' ', false);
+  // if the chain is "  module", SplitString will return: [ ], [module]
+  for(unsigned int i=0; i<spaceSplittedExp.size(); i++)
+    {
+    if( spaceSplittedExp[i] == " ")
+      {
+      spaceSplittedExp.erase(spaceSplittedExp.begin()+i);
+      i--;
+      }
+    }
+
+  // If the expression contains parameters
+  if( spaceSplittedExp.size() > 2 )
+    {
+    // Check if the chain "--" appears at least one time
+    if( m_Expression.find("--") == std::string::npos)
+    {
+    res = false;
+    }
+    }
+
+  return res;
+}
+
 bool
 CommandLineLauncher::CheckKeyValidity()
 {
diff --git a/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.h b/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.h
index 27faf7ebc96132855b856a77b02333e31ad52955..d1bb02327cc3d3664d641cafff47c4425726519a 100644
--- a/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.h
+++ b/Code/Wrappers/CommandLine/otbWrapperCommandLineLauncher.h
@@ -141,6 +141,12 @@ protected:
   /** Check if each key is unique in the expression. */
   bool CheckUnicity();
 
+  /** Check if option contains at least one "--".
+  * return false if m_Expression contains more than 2 element (module
+  * name and path) and doesn't contains "--"
+  */
+  bool CheckParametersPrefix();
+
   /** Check if each key is valid for the application. */
   bool CheckKeyValidity();
 
diff --git a/Code/Wrappers/CommandLine/otbWrapperCommandLineParser.cxx b/Code/Wrappers/CommandLine/otbWrapperCommandLineParser.cxx
index 73f40dfa9c176d7c320a80eb466e37173e04390d..4dedf5155bdbb325802ba8f8f7a8c5990457f4ef 100644
--- a/Code/Wrappers/CommandLine/otbWrapperCommandLineParser.cxx
+++ b/Code/Wrappers/CommandLine/otbWrapperCommandLineParser.cxx
@@ -100,7 +100,7 @@ CommandLineParser::GetPaths( std::vector<std::string> & paths, const std::string
       std::string fullPath = itksys::SystemTools::CollapseFullPath(pathAttribut[i].c_str());
       if( !itksys::SystemTools::FileIsDirectory(fullPath.c_str()) )
         {
-        std::cout<<"module path INVALIDMODULEPATH"<<std::endl;
+        std::cerr<<"module path Inavlid module path"<<std::endl;
         return INVALIDMODULEPATH;
         }
       paths.push_back(fullPath);