Index: trunk/Ohana/src/opihi/pantasks/JobOps.c
===================================================================
--- trunk/Ohana/src/opihi/pantasks/JobOps.c	(revision 7917)
+++ trunk/Ohana/src/opihi/pantasks/JobOps.c	(revision 8129)
@@ -103,4 +103,11 @@
   job[0].argv[i] = 0;
 
+  /* we need our own copy of task[0].optv: optc is the number of valid opts.  */
+  job[0].optc = task[0].optc;
+  ALLOCATE (job[0].optv, char *, MAX (task[0].optc, 1));
+  for (i = 0; i < job[0].optc; i++) {
+    job[0].optv[i] = strcreate (task[0].optv[i]);
+  }
+
   /* Other data from the task is needed by the job. We carry a pointer back to the task.  Changes to an
      executing task are applied to the existing jobs (exit macros, poll_period, timeout) */
@@ -136,4 +143,9 @@
   free (job[0].argv);
 
+  for (i = 0; i < job[0].optc; i++) {
+    free (job[0].optv[i]);
+  }
+  free (job[0].optv);
+
   FreeIOBuffer (&job[0].stdout);
   FreeIOBuffer (&job[0].stderr);
