diff --git a/database.go b/database.go
index 7863b086f970b20e26bc629905f4145db08bfc09..a9a46ca1094a0eced650dfb2b690fc3fc527f3aa 100644
--- a/database.go
+++ b/database.go
@@ -241,7 +241,7 @@ func (s *DBSaver) DeleteJob(job GenericJob) error {
 
 }
 
-func (s *DBSaver) DeleteLogs(job GenericJob) error {
+func (s *DBSaver) ResetLogs(job GenericJob) error {
 	s.mu.Lock()
 	defer s.mu.Unlock()
 	var db *gorm.DB
@@ -254,7 +254,8 @@ func (s *DBSaver) DeleteLogs(job GenericJob) error {
 	return db.Transaction(func(tx *gorm.DB) error {
 		permJob := job.GetPersistence()
 
-		dbErr := tx.Where("job_id = ?", permJob.GetID()).Delete(&JobLog{}).Error
+		// unscoped because we want to delete the logs finally
+		dbErr := tx.Unscoped().Where("job_id = ?", permJob.GetID()).Delete(&JobLog{}).Error
 		if dbErr != nil {
 			return dbErr
 		}
@@ -263,7 +264,7 @@ func (s *DBSaver) DeleteLogs(job GenericJob) error {
 	})
 }
 
-func (s *DBSaver) DeleteStats(job GenericJob) error {
+func (s *DBSaver) ResetStats(job GenericJob) error {
 	s.mu.Lock()
 	defer s.mu.Unlock()
 	var db *gorm.DB
@@ -276,9 +277,13 @@ func (s *DBSaver) DeleteStats(job GenericJob) error {
 	return db.Transaction(func(tx *gorm.DB) error {
 		permJob := job.GetPersistence()
 
-		dbErr := tx.Where("job_id = ?", permJob.GetID()).Delete(&JobStats{}).Error
-		if dbErr != nil {
-			return dbErr
+		permJob.Stats = JobStats{
+			JobID: permJob.GetID(),
+		}
+		
+		txErr := tx.Model(&permJob).Updates(permJob).Error
+		if txErr != nil {
+			return txErr
 		}
 
 		return nil
diff --git a/manager.go b/manager.go
index 825e44f5fbad5c90b38ca95b13561e5ebd14f75e..3e512de65d703a0b927e2cbf3ec46f66512fff10 100644
--- a/manager.go
+++ b/manager.go
@@ -149,8 +149,8 @@ func (m *Manager) RemoveJob(id JobID) error {
 	return m.removeJobInternal(id)
 }
 
-// DeleteJobLogs deletes the logs of a job
-func (m *Manager) DeleteJobLogs(id JobID) error {
+// ResetJobLogs deletes the logs of a job
+func (m *Manager) ResetJobLogs(id JobID) error {
 	m.mu.Lock()
 	defer m.mu.Unlock()
 
@@ -160,7 +160,7 @@ func (m *Manager) DeleteJobLogs(id JobID) error {
 
 	if m.dbSaver != nil {
 
-		err := m.dbSaver.DeleteLogs(m.activeJobs[id])
+		err := m.dbSaver.ResetLogs(m.activeJobs[id])
 		if err != nil {
 			return err
 		}
@@ -169,8 +169,8 @@ func (m *Manager) DeleteJobLogs(id JobID) error {
 	return nil
 }
 
-// DeleteJobStats deletes the stats of a job
-func (m *Manager) DeleteJobStats(id JobID) error {
+// ResetJobStats deletes the stats of a job
+func (m *Manager) ResetJobStats(id JobID) error {
 	m.mu.Lock()
 	defer m.mu.Unlock()
 
@@ -180,7 +180,7 @@ func (m *Manager) DeleteJobStats(id JobID) error {
 
 	if m.dbSaver != nil {
 
-		err := m.dbSaver.DeleteStats(m.activeJobs[id])
+		err := m.dbSaver.ResetStats(m.activeJobs[id])
 		if err != nil {
 			return err
 		}