Index: orte/mca/iof/hnp/iof_hnp.c =================================================================== --- orte/mca/iof/hnp/iof_hnp.c (revision 23378) +++ orte/mca/iof/hnp/iof_hnp.c (working copy) @@ -166,7 +166,9 @@ np = np / 10; } /* construct the filename */ - asprintf(&outfile, "%s.%0*lu", orte_output_filename, numdigs, (unsigned long)proct->name.vpid); + asprintf(&outfile, "%s.%d.%0*lu", orte_output_filename, + (int)ORTE_LOCAL_JOBID(proct->name.jobid), + numdigs, (unsigned long)proct->name.vpid); /* create the file */ fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644); free(outfile); Index: orte/mca/iof/orted/iof_orted.c =================================================================== --- orte/mca/iof/orted/iof_orted.c (revision 23378) +++ orte/mca/iof/orted/iof_orted.c (working copy) @@ -152,7 +152,9 @@ np = np / 10; } /* construct the filename */ - asprintf(&outfile, "%s.%0*lu", orte_output_filename, numdigs, (unsigned long)proct->name.vpid); + asprintf(&outfile, "%s.%d.%0*lu", orte_output_filename, + (int)ORTE_LOCAL_JOBID(proct->name.jobid), + numdigs, (unsigned long)proct->name.vpid); /* create the file */ fdout = open(outfile, O_CREAT|O_RDWR|O_TRUNC, 0644); free(outfile);