--- hurd.orig/trans/crash.c	2006-08-06 19:04:56.000000000 +0000
+++ hurd/trans/crash.c	2006-08-06 19:10:18.000000000 +0000
@@ -502,6 +502,7 @@ error_t
 trivfs_append_args (struct trivfs_control *fsys,
 		    char **argz, size_t *argz_len)
 {
+  int err;
   const char *opt;
 
   switch (crash_how)
@@ -513,7 +514,22 @@ trivfs_append_args (struct trivfs_contro
       return EGRATUITOUS;
     }
 
-  return argz_add (argz, argz_len, opt);
+  err = argz_add (argz, argz_len, opt);
+  if (!err)
+    {
+      switch (crash_orphans_how)
+        {
+          case crash_suspend:	opt = "--orphan-action=suspend";	break;
+          case crash_kill:	opt = "--orphan-action=kill";		break;
+          case crash_corefile:	opt = "--orphan-action=core-file";	break;
+          default: 		opt = NULL;				break;
+        }
+        if (opt)
+          {
+            err = argz_add (argz, argz_len, opt);
+          }
+    }
+  return err;
 }
 
 struct argp crash_argp = { options, parse_opt, doc, 0 };
