diff --git a/database.go b/database.go
index b6373d842598a443364248074f2accddf1483aba..a34c63395eb691c2cb3389680891636c94f5701c 100644
--- a/database.go
+++ b/database.go
@@ -104,9 +104,17 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error {
 			}
 		} else {
 
-			tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil)
+			// remove deleted from
+			r := tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil)
+			if r.Error != nil {
+				Trace("Error while deleting job", "error", r.Error)
+				return r.Error
+			}
 
-			tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{
+			// update scheduler
+			resultStats := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{
 				Type:     "",
 				Interval: 0,
 				Spec:     "",
@@ -116,9 +124,15 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error {
 				Executed: false,
 			})
 
-			err := tx.Model(&existingJob).Updates(permJob).Error
-			if err != nil {
-				return err
+			if resultStats.Error != nil {
+				Trace("Error while updating job stats", "error", resultStats.Error)
+				return resultStats.Error
+			}
+
+			r2 := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").
+				Omit("deleted_at", "created_at", "job_id").Updates(permJob)
+			if r2.Error != nil {
+				return r2.Error
 			}
 		}