Index: /trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c	(revision 17476)
+++ /trunk/Ohana/src/opihi/pcontrol/CheckBusyJob.c	(revision 17477)
@@ -60,5 +60,10 @@
   /** host is up, need to parse message **/
   p = memstr (buffer[0].buffer, "STATUS", buffer[0].Nbuffer);
-  ASSERT (p != NULL, "missing STATUS in pclient message");
+  if (p == NULL) {
+      if (DEBUG || VerboseMode()) gprint (GP_ERR, "missing STATUS in response; try again\n");
+      PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
+      PutJob (job, PCONTROL_JOB_BUSY, STACK_BOTTOM);
+      return (TRUE);
+  }
 
   sscanf (p, "%*s %s", string);
Index: /trunk/Ohana/src/opihi/pcontrol/CheckDoneHost.c
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/CheckDoneHost.c	(revision 17476)
+++ /trunk/Ohana/src/opihi/pcontrol/CheckDoneHost.c	(revision 17477)
@@ -43,5 +43,9 @@
   /** successful command, examine result **/
   p = memstr (buffer[0].buffer, "STATUS", buffer[0].Nbuffer);
-  ASSERT (p != NULL, "missing STATUS in pclient message (CheckDoneHost)");
+  if (p == NULL) {
+      if (DEBUG || VerboseMode()) gprint (GP_ERR, "missing STATUS in response; try again\n");
+      PutHost (host, PCONTROL_HOST_DONE, STACK_BOTTOM);
+      return (FALSE);
+  }
 
   sscanf (p, "%*s %d", &status);
Index: /trunk/Ohana/src/opihi/pcontrol/KillJob.c
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/KillJob.c	(revision 17476)
+++ /trunk/Ohana/src/opihi/pcontrol/KillJob.c	(revision 17477)
@@ -50,5 +50,10 @@
   /** check on response to pclient command **/
   p = memstr (buffer[0].buffer, "STATUS", buffer[0].Nbuffer);
-  ASSERT (p != NULL, "missing STATUS in pclient message");
+  if (p == NULL) {
+      if (VerboseMode()) gprint (GP_ERR, "missing STATUS in response; try again\n");
+      PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
+      PutJob (job, PCONTROL_JOB_KILL, STACK_BOTTOM);
+      return (FALSE);
+  }
   if (VerboseMode()) gprint (GP_ERR, "client message: %s\n", buffer[0].buffer);
 
Index: /trunk/Ohana/src/opihi/pcontrol/StartJob.c
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/StartJob.c	(revision 17476)
+++ /trunk/Ohana/src/opihi/pcontrol/StartJob.c	(revision 17477)
@@ -72,5 +72,13 @@
   /* check on result of pclient command */
   p = memstr (buffer[0].buffer, "STATUS", buffer[0].Nbuffer);
-  ASSERT (p != NULL, "missing STATUS in pclient message");
+  if (p == NULL) {
+      // failed to get a valid response.  kill the job and try again, 
+      // or accept a running process without a PID?
+      if (VerboseMode()) gprint (GP_ERR, "failed to get a valid PID, trying to continue without\n");
+      PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
+      PutJob (job, PCONTROL_JOB_BUSY, STACK_BOTTOM);
+      gettimeofday (&job[0].start, NULL);
+      return (TRUE);
+  }
 
   sscanf (p, "%*s %d", &status);
