diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 0ee3841b9ed7e01fb86c62b10ad54b8f23e1873b..a2cc01e4ad71488795e2f7dbf220ac0f92427123 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-05  Tom Tromey  <tromey@redhat.com>
+
+	* java/lang/natPosixProcess.cc (reap): Ignore unknown children.
+
 2006-01-04  Krister Walfridsson  <cato@df.lth.se>
 
 	* posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MIN
diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc
index 9a6c3218d4d1e6bb5c18c4fcce77b39b477d54d0..94344fc8e612ca689635b107991e19d9ea4816b4 100644
--- a/libjava/java/lang/natPosixProcess.cc
+++ b/libjava/java/lang/natPosixProcess.cc
@@ -1,6 +1,6 @@
 // natPosixProcess.cc - Native side of POSIX process code.
 
-/* Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -170,6 +170,8 @@ jboolean java::lang::ConcreteProcess$ProcessManager::reap ()
       // Look up the process in our pid map.
       ConcreteProcess * process = removeProcessFromMap ((jlong) pid);
 
+      // Note that if process==NULL, then we have an unknown child.
+      // This is not common, but can happen, and isn't an error.
       if (process)
 	{
 	  JvSynchronize sync (process);
@@ -178,11 +180,6 @@ jboolean java::lang::ConcreteProcess$ProcessManager::reap ()
           process->processTerminationCleanup();
 	  process->notifyAll ();
 	}
-      else
-	{
-	  // Unknown child.  How did this happen?
-	  fprintf (stderr, "Reaped unknown child pid = %ld\n", (long) pid);
-	}
     }
 
 error: