diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 33e31f1c9ffec8ef1994bb24a366974092e96811..1a66fc89c87d485416daa8dbf88ea0ffdfa10a95 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -582,6 +582,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;
@@ -3234,6 +3238,9 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
 
   return true;
 }
+#if _MSC_VER > 1000
+#pragma optimize( "", on )
+#endif
 
 
 // ====================================================================================================================