diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringListParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringListParameter.h
index f9d07e8c2eb796dbdf7087d6b268a71ba9e153cb..2adb1c3550edd7039e67ad57dcb3e5a3ab148936 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringListParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringListParameter.h
@@ -57,13 +57,20 @@ public:
     m_Value.clear();
     for(unsigned int i=0; i<sList.size(); i++)
       {
-      m_Value.push_back(sList[i]);
+      this->AddString(sList[i]);
       }
   }
 
   void AddString(std::string value)
   {
-    m_Value.push_back(value);
+    if(!value.empty())
+      {
+      m_Value.push_back(value);
+      if(!this->GetActive())
+        {
+        this->SetActive(true);
+        }
+      }
   }
 
   /** Get the value */