diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 391edca..bd158f6 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1139,6 +1139,9 @@
             if data:
                 os.waitpid(self.pid, 0)
                 child_exception = pickle.loads(data)
+                for fd in (p2cwrite, c2pread, errread):
+                    if fd is not None:
+                        os.close(fd)
                 raise child_exception
 
 
diff --git a/Lib/test/test_pep263.py b/Lib/test/test_pep263.py
index 106b3ab..72764f9 100644
--- a/Lib/test/test_pep263.py
+++ b/Lib/test/test_pep263.py
@@ -1,4 +1,4 @@
-#! -*- coding: koi8-r -*-
+# -*- coding: koi8-r -*-
 
 import unittest
 from test import support
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index eb4e759..5d3e040 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -521,6 +521,22 @@
         p = subprocess.Popen([sys.executable, "-c", "pass"], bufsize=None)
         self.assertEqual(p.wait(), 0)
 
+    def test_leaking_fds_on_error(self):
+        # see bug #5179: Popen leaks file descriptors to PIPEs if
+        # the child fails to execute; this will eventually exhaust
+        # the maximum number of open fds. 1024 seems a very common
+        # value for that limit, but Windows has 2048, so we loop
+        # 1024 times (each call leaked two fds).
+        for i in range(1024):
+            try:
+                subprocess.Popen(['nonexisting_i_hope'],
+                                 stdout=subprocess.PIPE,
+                                 stderr=subprocess.PIPE)
+            # Windows raises IOError
+            except (IOError, OSError) as err:
+                if err.errno != 2:  # ignore "no such file"
+                    pass # XXX see #5312
+
     #
     # POSIX tests
     #
