diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 7c229dc..5438f15 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1000,10 +1000,14 @@
                     if errwrite:
                         os.dup2(errwrite, 2)
 
-                    # Close pipe fds.  Make sure we don't close the same
-                    # fd more than once, or standard fds.
-                    for fd in set((p2cread, c2pwrite, errwrite))-set((0,1,2)):
-                        if fd: os.close(fd)
+                    # Close pipe fds.  Make sure we doesn't close the same
+                    # fd more than once.
+                    if p2cread:
+                        os.close(p2cread)
+                    if c2pwrite and c2pwrite not in (p2cread,):
+                        os.close(c2pwrite)
+                    if errwrite and errwrite not in (p2cread, c2pwrite):
+                        os.close(errwrite)
 
                     # Close all other fds, if asked for
                     if close_fds:
