--- thread.cc.orig	2004-03-29 09:14:10.481436800 +0200
+++ thread.cc	2004-03-29 09:18:01.768561600 +0200
@@ -1941,8 +1941,6 @@ pthread::cancel (pthread_t thread)
 void
 pthread::atforkprepare (void)
 {
-  MT_INTERFACE->fixup_before_fork ();
-
   callback *cb = MT_INTERFACE->pthread_prepare;
   while (cb)
     {
@@ -1951,6 +1949,8 @@ pthread::atforkprepare (void)
     }
 
   __fp_lock_all ();
+
+  MT_INTERFACE->fixup_before_fork ();
 }
 
 void
