diff --git a/rts/IOManager.c b/rts/IOManager.c
index d70713fa346029dc00f545166fadc3960f487d69..f2d7a60b93505c2f3432f4ec197a8e95ad06a7c5 100644
--- a/rts/IOManager.c
+++ b/rts/IOManager.c
@@ -233,7 +233,6 @@ void selectIOManager(void)
 #if defined(IOMGR_ENABLED_WINIO)
         case IO_MNGR_FLAG_WINIO:
             iomgr_type = IO_MANAGER_WINIO;
-            rts_IOManagerIsWin32Native = true;
             break;
 #endif
 
@@ -246,6 +245,10 @@ void selectIOManager(void)
         default:
           barf("selectIOManager: %d", RtsFlags.MiscFlags.ioManager);
     }
+
+#if defined(mingw32_HOST_OS)
+    rts_IOManagerIsWin32Native = iomgr_type == IO_MANAGER_WINIO;
+#endif
 }