diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 1cac6e72e05bc5618d50fe6e995b833150a04a8e..62f5a22f3ebbd663972d017c9ce59c04c7016113 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -572,6 +572,10 @@ static uint32_t getMaxSlicesByLevel( Level::Name level )
     \param  argv        array of arguments
     \retval             true when success
  */
+#if _MSC_VER > 1000
+// Disable optimizations to avoid long compile times
+#pragma optimize( "", off )
+#endif
 bool EncAppCfg::parseCfg( int argc, char* argv[] )
 {
   bool do_help = false;
@@ -3299,6 +3303,9 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
 
   return true;
 }
+#if _MSC_VER > 1000
+#pragma optimize( "", on )
+#endif
 
 
 // ====================================================================================================================