diff -up cups-1.5rc1/scheduler/job.c.str3880 cups-1.5rc1/scheduler/job.c --- cups-1.5rc1/scheduler/job.c.str3880 2011-07-20 13:25:04.830715537 +0100 +++ cups-1.5rc1/scheduler/job.c 2011-07-20 13:25:33.637200511 +0100 @@ -1407,17 +1407,22 @@ cupsdDeleteJob(cupsd_job_t *job, / free(job->compressions); free(job->filetypes); - while (job->num_files > 0) + if (action == CUPSD_JOB_PURGE) { - snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot, - job->id, job->num_files); - if (Classification) - cupsdRemoveFile(filename); - else - unlink(filename); + while (job->num_files > 0) + { + snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot, + job->id, job->num_files); + if (Classification) + cupsdRemoveFile(filename); + else + unlink(filename); - job->num_files --; + job->num_files --; + } } + else + job->num_files = 0; } if (job->history)