if (sec <= 0) {
         sec = 1;
       }
-      bps = njcr->JobBytes / sec;
+      bps = (int)(njcr->JobBytes / sec);
       len = Mmsg(&msg,  _("    Files=%s Bytes=%s Bytes/sec=%s\n"), 
           edit_uint64_with_commas(njcr->JobFiles, b1),
           edit_uint64_with_commas(njcr->JobBytes, b2),
 {
    JCR *njcr;
    char *termstat = _("Bacula Idle");
+   struct s_last_job *job;
 
    bacstat = 0;
    if (last_jobs->size() > 0) {
-      switch (last_job.JobStatus) {
+      job = (struct s_last_job *)last_jobs->first();
+      switch (job->JobStatus) {
       case JS_Canceled:
         bacstat = -1;
          termstat = _("Last Job Canceled");
    }
    Dmsg0(1000, "Begin bac_status jcr loop.\n");
    lock_jcr_chain();
-   for (njcr=NULL; (njcr=get_next_jcr(njcr)); ) {
+   foreach_jcr(njcr) {
       if (njcr->JobId != 0) {
         bacstat = 1;
          termstat = _("Bacula Running");