diff --git a/Code/Common/otbSystem.cxx b/Code/Common/otbSystem.cxx
index 0ffe5c01e02d08c1ef35aa7c38381b282bdb1939..068a84a86d60ab24196c687397c687f1cae3f33f 100755
--- a/Code/Common/otbSystem.cxx
+++ b/Code/Common/otbSystem.cxx
@@ -20,7 +20,8 @@
 #include <string.h> // strdup
 
 
-#if defined(WIN32) || defined(WIN32CE)
+
+#if (defined(WIN32) || defined(WIN32CE)) && !defined(__CYGWIN__)
 /*=====================================================================
                    WIN32 / MSVC++ implementation
  *====================================================================*/
@@ -103,7 +104,7 @@ System::GetShortFileName( const std::string& filename )
   return( shortFileName );
 }
 
-#if defined(WIN32) || defined(WIN32CE)
+#if (defined(WIN32) || defined(WIN32CE)) && !defined(__CYGWIN__)
 
 /*=====================================================================
                    WIN32 / MSVC++ implementation