diff --git a/database.go b/database.go
index 707c62c99ffc0c9a43be220b4dcde2175c1f6464..e3f65a359fd1e424883c7e91ff3b4526f4676084 100644
--- a/database.go
+++ b/database.go
@@ -114,7 +114,7 @@ func (s *DBSaver) Start() error {
 					permJob.Logs = nil
 
 					var existingJob JobPersistence
-					result := tx.Where("id = ?", permJob.GetID()).First(&existingJob)
+					result := tx.Unscoped().Where("id = ? AND deleted_at IS NOT NULL", permJob.GetID()).First(&existingJob)
 
 					if result.Error != nil {
 						if errors.Is(result.Error, gorm.ErrRecordNotFound) {
@@ -127,6 +127,8 @@ func (s *DBSaver) Start() error {
 						}
 					} else {
 
+						db.Unscoped().Model(&existingJob).Update("deleted_at", nil)
+
 						tx.Model(&existingJob.Scheduler).Select(
 							[]string{
 								"type",