diff --git a/Modules/main.c b/Modules/main.c
index 4fb4d2d..e1e7b25 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -9,11 +9,16 @@
 #endif
 
 #if defined(MS_WINDOWS) || defined(__CYGWIN__)
+#include <windows.h>
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
 #endif
 
+#ifdef _MSC_VER
+#include <crtdbg.h>
+#endif
+
 #if (defined(PYOS_OS2) && !defined(PYCC_GCC)) || defined(MS_WINDOWS)
 #define PYTHONHOMEHELP "<prefix>\\lib"
 #else
@@ -323,6 +328,25 @@
 	    (p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0')
 		unbuffered = 1;
 
+#ifdef MS_WINDOWS
+	if ((p = Py_GETENV("PYTHONNOERRORWINDOW")) && *p != '\0') {
+		/* Disable all error windows created by the sytem
+		   or the CRT. */
+#if defined(_DEBUG) && defined(_MSC_VER)
+		int types[] = {_CRT_WARN, _CRT_ERROR, _CRT_ASSERT};
+		int i;
+		for (i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
+		    _CrtSetReportFile(types[i], _CRTDBG_FILE_STDERR);
+		    _CrtSetReportMode(types[i], _CRTDBG_MODE_FILE);
+		}
+		_set_error_mode(_OUT_TO_STDERR);
+#endif
+		SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT |
+			     SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
+	}
+#endif
+
+
 	if (command == NULL && module == NULL && _PyOS_optind < argc &&
 	    strcmp(argv[_PyOS_optind], "-") != 0)
 	{
