diff --git a/src/libpfetch/libpfetch.c b/src/libpfetch/libpfetch.c
index 8bfbdd13aeddef9b6851a6579c7cebd00214c393..c3b90d59de4b41c14ce86f12b58ab534ab749c29 100755
--- a/src/libpfetch/libpfetch.c
+++ b/src/libpfetch/libpfetch.c
@@ -27,9 +27,9 @@
  *
  * Exported functions: See XXXXXXXXXXXXX.h
  * HISTORY:
- * Last edited: Mar 31 15:38 2009 (rds)
+ * Last edited: Apr 29 21:34 2009 (rds)
  * Created: Fri Apr  4 14:21:42 2008 (rds)
- * CVS info:   $Id: libpfetch.c,v 1.9 2009-04-01 10:14:30 rds Exp $
+ * CVS info:   $Id: libpfetch.c,v 1.10 2009-05-08 15:54:08 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -1018,6 +1018,8 @@ static void pfetch_pipe_handle_finalize(GObject *gobject)
  * -L/usr/totalview/linux-x86/lib -ldbfork */
 static void detach_group_for_later_kill(gpointer unused)
 {
+  ChildWatchData child_data = (ChildWatchData)unused;
+  PFetchHandlePipe handle;
   int setgrp_rv = 0;
 
   errno = 0;
@@ -1045,6 +1047,23 @@ static void detach_group_for_later_kill(gpointer unused)
 	}
       errno = 0;
     }
+  else
+    {
+      PFetchHandleClass handle_class;
+      GQuark detail = 0;
+      gchar output[PFETCH_READ_SIZE] = {"libpfetch.c code failed"};
+      guint actual_read_uint = PFETCH_READ_SIZE;
+      GError *error = NULL;
+
+      handle = PFETCH_PIPE_HANDLE(child_data->watch_data);
+
+      handle_class = PFETCH_HANDLE_GET_CLASS(handle);
+
+      emit_signal(PFETCH_HANDLE(handle),
+		  handle_class->handle_signals[HANDLE_READER_SIGNAL], 
+		  detail, &output[0], &actual_read_uint, error);
+
+    }
 
   return ;
 }