diff --git a/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx b/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
index 736ad395b5255f46e4ff29d725bbeb64f38f5e36..5d57a8337e73ee2298f313f08c13dc9f2ec5258f 100644
--- a/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
+++ b/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
@@ -817,18 +817,22 @@ std::string CommandLineLauncher::DisplayParameterHelp(const Parameter::Pointer &
 
   if (type == ParameterType_Choice)
     {
-    std::vector<std::string> keys = dynamic_cast<ChoiceParameter*>(param.GetPointer())->GetChoiceKeys();
-    std::vector<std::string> names = dynamic_cast<ChoiceParameter*>(param.GetPointer())->GetChoiceNames();
+    ChoiceParameter* paramDown = dynamic_cast<ChoiceParameter*>(param.GetPointer());
+    if (paramDown)
+      {
+      std::vector<std::string> keys = paramDown->GetChoiceKeys();
+      std::vector<std::string> names = paramDown->GetChoiceNames();
 
-    oss << "[";
-    for(unsigned int i=0; i<keys.size(); i++)
+      oss << "[";
+      for(unsigned int i=0; i<keys.size(); i++)
       {
-      oss<<keys[i];
-      if( i != keys.size()-1 )
-        oss << "/";
+        oss<<keys[i];
+        if( i != keys.size()-1 )
+          oss << "/";
       }
 
-    oss << "]";
+      oss << "]";
+      }
     }
 
   if(m_Application->IsMandatory(paramKey))