diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 6cee815f8..ddf98d256 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2012-08-15  Christopher Faylor  <me.cygwin2012@cgf.cx>
+
+	* pinfo.cc (_pinfo::exists): Don't consider an execed process to exist.
+
 2012-08-14  Corinna Vinschen  <corinna@vinschen.de>
 
 	* gmon.c (_mcleanup): Fix scope bug when using gmon_out array.
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index eb4923e9b..d81217a98 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -488,7 +488,7 @@ _pinfo::set_ctty (fhandler_termios *fh, int flags)
 bool __stdcall
 _pinfo::exists ()
 {
-  return this && !(process_state & (PID_EXITED | PID_REAPED));
+  return this && !(process_state & (PID_EXITED | PID_REAPED | PID_EXECED));
 }
 
 bool