diff --git a/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift b/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
index 9e3ff39ed1910f8173d2b0ae7b80b9b1fb12094d..6d29794226d5d227da44724f532eea1916ef9150 100644
--- a/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
+++ b/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
@@ -52,6 +52,8 @@ extension ScanSessionsRepository {
     
     func deleteFolder(params: Folder) {
         
+        handleRemovingFolderFiles(folder: params)
+        
         if let folderEntity = foldersEntities.first(where: { $0.id == params.id }) {
             
             deleteFolderEntity(folderEntity: folderEntity)
@@ -109,6 +111,8 @@ extension ScanSessionsRepository {
     
     func deleteScanSession(params: ScanSession) {
         
+        handleRemovingScanSessionFiles(scanSession: params)
+        
         if let sessionEntity = sessionsEntities.first(where: { $0.id == params.id }) {
             
             deleteScanSessionEntity(sessionEntity: sessionEntity)
@@ -224,6 +228,24 @@ extension ScanSessionsRepository {
         imageUrlsToDelete.forEach { try? FileManager.default.removeItem(at: $0) }
     }
     
+    private func handleRemovingFolderFiles(folder: Folder) {
+        folder.scanSessions.forEach { handleRemovingScanSessionFiles(scanSession: $0) }
+    }
+    
+    private func handleRemovingScanSessionFiles(scanSession: ScanSession) {
+        
+        scanSession.scannedItems.forEach { item in
+            
+            if let imageUrl = item.newOriginalImage {
+                try? FileManager.default.removeItem(at: imageUrl)
+            }
+            
+            if let imageUrl = item.newRenderedImage {
+                try? FileManager.default.removeItem(at: imageUrl)
+            }
+        }
+    }
+    
     private func persistChanges() {
         saveChangesAndWait()
     }