diff --git a/Code/ApplicationEngine/otbWrapperOutputImageParameter.cxx b/Code/ApplicationEngine/otbWrapperOutputImageParameter.cxx
index 61fa74e4f63f6dd75d1a3e5fd97bef81206f8e40..881331af6310f6d992902a65f4d80b2637f9e91a 100644
--- a/Code/ApplicationEngine/otbWrapperOutputImageParameter.cxx
+++ b/Code/ApplicationEngine/otbWrapperOutputImageParameter.cxx
@@ -319,15 +319,21 @@ OutputImageParameter::GetWriter()
     {
     case ImagePixelType_uint8:
       {
-      if (type == 1)
-        writer = m_VectorUInt8Writer;
-      else
-        if (type == 0)
+      switch(type)
+        {
+        case 0:
           writer = m_UInt8Writer;
-        else
-          if (type == 2)
-            writer = m_RGBAUInt8Writer;
-          else writer = m_RGBUInt8Writer;
+          break;
+        case 1:
+          writer = m_VectorUInt8Writer;
+          break;
+        case 2:
+          writer = m_RGBAUInt8Writer;
+          break;
+        default:
+          writer = m_RGBUInt8Writer;
+          break;
+        }
       break;
       }
     case ImagePixelType_int16: