diff --git a/ROOT/usr/lib/chem-zfs-backup-server/DB/database.sql b/ROOT/usr/lib/chem-zfs-backup-server/DB/database.sql
index 1100e1a193225d81ec147ec04b1d95d17a87b0c0..4eed570f464ea1506614b82160d8bc4cde4a2732 100644
--- a/ROOT/usr/lib/chem-zfs-backup-server/DB/database.sql
+++ b/ROOT/usr/lib/chem-zfs-backup-server/DB/database.sql
@@ -376,9 +376,12 @@ CREATE FUNCTION update_ended_processing() RETURNS trigger
 declare
  
 begin
- update backup_task set last_ended=new.ended_processing where backup_task_id=new.backup_task_id and last_ended<new.ended_processing;
- update backup_task set isrunning='f' where backup_task_id=new.backup_task_id and isrunning;
-  return new;
+ -- NB we also update the backup_log table to set started_processing; we only want to do the following updates if we have ended_processing
+ if new.ended_processing is not null then
+   update backup_task set last_ended=new.ended_processing where backup_task_id=new.backup_task_id;
+   update backup_task set isrunning='f' where backup_task_id=new.backup_task_id and isrunning;
+ end if;
+ return new;
 end
 $$;