- removed barry's workaround, to make room for
  bill's more complete solution.
diff --git a/PC/WinMain.c b/PC/WinMain.c
index 0081af4..c3d0f2f 100644
--- a/PC/WinMain.c
+++ b/PC/WinMain.c
@@ -2,8 +2,6 @@
 
 #define WINDOWS_LEAN_AND_MEAN
 #include <windows.h>
-#include <fcntl.h>
-#include <sys/stat.h>
 
 #include "Python.h"
 
@@ -16,33 +14,5 @@
     int nCmdShow              /* show state of window */
 )
 {
-    int null_file;
-
-    /*
-     * make sure that the C RTL has valid file descriptors for
-     * stdin, stdout, stderr.  Use the NUL device if necessary.
-     * This allows popen to work under pythonw.
-     *
-     * When pythonw.exe starts the C RTL function _ioinit is called
-     * first. WinMain is called later hence the need to check for
-     * invalid handles.
-     *
-     * Note: FILE stdin, stdout, stderr do not use the file descriptors
-     * setup here. They are already initialised before WinMain was called.
-     */
-
-    null_file = open("NUL", _O_RDWR);
-
-    if (_get_osfhandle(0) == -1)
-        dup2(null_file, 0);
-
-    if (_get_osfhandle(1) == -1)
-        dup2(null_file, 1);
-
-    if (_get_osfhandle(2) == -1)
-        dup2(null_file, 2);
-
-    close(null_file);
-
     return Py_Main(__argc, __argv);
 }