if job.yarn:
                if not job.name:
                        job.name = job.yarn['name']
-               if not job.status:
-                       job.status = job.yarn['finalStatus']
+               if not job.status or job.status == 'UNDEFINED':
+                       job.status = job.yarn['state']
                if not job.user:
                        job.user = job.yarn['user']
                if not job.queue:
 
        log_time = time.strftime("%d/%m/%Y %H:%M:%S", time.gmtime())
        if job['status'] == 'RUNNING':
                status = 'R'
-       elif job['status'] in ('SUCCEEDED', 'KILLED'):
+       elif job['status'] in ('SUCCEEDED', 'KILLED', 'FINISHED'):
                status = 'C'
        elif job['status'] in ('SUBMITTED', 'ACCEPTED'):
                status = 'Q'
                status = 'T'
        elif job['status'] in ('FAILED', 'UNDEFINED'):
                status = 'E'
+       else:
+               print 'Unknown status %s' % job['status']
+               sys.exit(1)
 
        if job['status'] == 'SUCCEEDED':
                pbs_exit_status=' exit_status=0'