diff --git a/Lib/pty.py b/Lib/pty.py
index 889113c..d3eb64f 100644
--- a/Lib/pty.py
+++ b/Lib/pty.py
@@ -121,7 +121,9 @@
         # Explicitly open the tty to make it become a controlling tty.
         tmp_fd = os.open(os.ttyname(STDOUT_FILENO), os.O_RDWR)
         os.close(tmp_fd)
-
+    else:
+        os.close(slave_fd)
+        
     # Parent and child process.
     return pid, master_fd
 
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index 59e5162..fd346c0 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -115,6 +115,12 @@
     os._exit(4)
 else:
     debug("Waiting for child (%d) to finish."%pid)
+    line = os.read(master_fd, 80)
+    lines = line.replace('\r\n', '\n').split('\n')
+    if lines != ['In child, calling os.setsid()',
+                 'Good: OSError was raised.', '']:
+        raise TestFailed("Unexpected output from child: %r" % line)
+            
     (pid, status) = os.waitpid(pid, 0)
     res = status >> 8
     debug("Child (%d) exited with status %d (%d)."%(pid, res, status))
@@ -127,6 +133,15 @@
     elif res != 4:
         raise TestFailed, "pty.fork() failed for unknown reasons."
 
+    debug("Reading from master_fd now that the child has exited")
+    try:
+        s1 = os.read(master_fd, 1024)
+    except os.error:
+        pass
+    else:
+        raise TestFailed("Read from master_fd did not raise exception")
+    
+    
 os.close(master_fd)
 
 # pty.fork() passed.
