diff --git a/ProcessUNIX.c b/ProcessUNIX.c
index 9b6edfc7fd7b4b3b4af62e9620b890c96838f0f8..6d9b10997f8f32d36af2f9ec7cb05f0acc03999c 100644
--- a/ProcessUNIX.c
+++ b/ProcessUNIX.c
@@ -1979,6 +1979,7 @@ static int kwsysProcessCreate(kwsysProcess* cp, int prIndex,
     kwsysProcessCleanupDescriptor(&pgidPipe[0]);
     return 0;
     }
+  kwsysProcessCleanupDescriptor(&pgidPipe[0]);
 
   /* Unmask signals.  */
   if(sigprocmask(SIG_SETMASK, &old_mask, 0) < 0)