Index: globus_gram_job_manager_state.c
===================================================================
RCS file: /home/globdev/CVS/globus-packages/gram/jobmanager/source/globus_gram_job_manager_state.c,v
retrieving revision 1.27.4.1
diff -u -r1.27.4.1 globus_gram_job_manager_state.c
--- globus_gram_job_manager_state.c	12 Mar 2007 14:03:17 -0000	1.27.4.1
+++ globus_gram_job_manager_state.c	1 Aug 2007 14:59:42 -0000
@@ -686,10 +686,25 @@
 	    rc = globus_gram_job_manager_state_file_read(request);
 	    if(rc != GLOBUS_SUCCESS)
 	    {
-                globus_gram_job_manager_request_set_status(request, GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED);
-		request->failure_code = rc;
-		request->jobmanager_state =
-		    GLOBUS_GRAM_JOB_MANAGER_STATE_EARLY_FAILED;
+                /* Short circuit to done when job manager is still alive */
+                if (rc == GLOBUS_GRAM_PROTOCOL_ERROR_OLD_JM_ALIVE)
+                {
+                    globus_gram_job_manager_request_set_status(
+                            request,
+                            GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED);
+                    request->failure_code = rc;
+                    rc = globus_l_gram_job_manager_reply(request);
+                    request->jobmanager_state = GLOBUS_GRAM_JOB_MANAGER_STATE_DONE;
+                }
+                else
+                {
+                    globus_gram_job_manager_request_set_status(
+                            request,
+                            GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED);
+                    request->failure_code = rc;
+                    request->jobmanager_state =
+                        GLOBUS_GRAM_JOB_MANAGER_STATE_EARLY_FAILED;
+                }
 		break;
 	    }
 
