diff --git a/server/trace.c b/server/trace.c
index 66b48bd..1fca5cd 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -215,8 +215,6 @@
 
 static void dump_new_process_request( const struct new_process_request *req )
 {
-    fprintf( stderr, " pinherit=%d,", req->pinherit );
-    fprintf( stderr, " tinherit=%d,", req->tinherit );
     fprintf( stderr, " inherit_all=%d,", req->inherit_all );
     fprintf( stderr, " create_flags=%d,", req->create_flags );
     fprintf( stderr, " start_flags=%d,", req->start_flags );
@@ -225,12 +223,18 @@
     fprintf( stderr, " hstdout=%d,", req->hstdout );
     fprintf( stderr, " hstderr=%d,", req->hstderr );
     fprintf( stderr, " cmd_show=%d,", req->cmd_show );
-    fprintf( stderr, " env_ptr=%p,", req->env_ptr );
-    fprintf( stderr, " cmdline=" );
-    dump_string( req, req->cmdline );
+    fprintf( stderr, " alloc_fd=%d", req->alloc_fd );
 }
 
-static void dump_new_process_reply( const struct new_process_request *req )
+static void dump_wait_process_request( const struct wait_process_request *req )
+{
+    fprintf( stderr, " pinherit=%d,", req->pinherit );
+    fprintf( stderr, " tinherit=%d,", req->tinherit );
+    fprintf( stderr, " timeout=%d,", req->timeout );
+    fprintf( stderr, " cancel=%d", req->cancel );
+}
+
+static void dump_wait_process_reply( const struct wait_process_request *req )
 {
     fprintf( stderr, " pid=%p,", req->pid );
     fprintf( stderr, " phandle=%d,", req->phandle );
@@ -259,7 +263,8 @@
 static void dump_init_process_request( const struct init_process_request *req )
 {
     fprintf( stderr, " ldt_copy=%p,", req->ldt_copy );
-    fprintf( stderr, " ldt_flags=%p", req->ldt_flags );
+    fprintf( stderr, " ldt_flags=%p,", req->ldt_flags );
+    fprintf( stderr, " ppid=%d", req->ppid );
 }
 
 static void dump_init_process_reply( const struct init_process_request *req )
@@ -269,10 +274,7 @@
     fprintf( stderr, " hstdin=%d,", req->hstdin );
     fprintf( stderr, " hstdout=%d,", req->hstdout );
     fprintf( stderr, " hstderr=%d,", req->hstderr );
-    fprintf( stderr, " cmd_show=%d,", req->cmd_show );
-    fprintf( stderr, " env_ptr=%p,", req->env_ptr );
-    fprintf( stderr, " cmdline=" );
-    dump_string( req, req->cmdline );
+    fprintf( stderr, " cmd_show=%d", req->cmd_show );
 }
 
 static void dump_init_process_done_request( const struct init_process_done_request *req )
@@ -1326,6 +1328,7 @@
 
 static const dump_func req_dumpers[REQ_NB_REQUESTS] = {
     (dump_func)dump_new_process_request,
+    (dump_func)dump_wait_process_request,
     (dump_func)dump_new_thread_request,
     (dump_func)dump_boot_done_request,
     (dump_func)dump_init_process_request,
@@ -1430,7 +1433,8 @@
 };
 
 static const dump_func reply_dumpers[REQ_NB_REQUESTS] = {
-    (dump_func)dump_new_process_reply,
+    (dump_func)0,
+    (dump_func)dump_wait_process_reply,
     (dump_func)dump_new_thread_reply,
     (dump_func)0,
     (dump_func)dump_init_process_reply,
@@ -1536,6 +1540,7 @@
 
 static const char * const req_names[REQ_NB_REQUESTS] = {
     "new_process",
+    "wait_process",
     "new_thread",
     "boot_done",
     "init_process",
