diff --git a/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift b/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
index f2b666bb4761554e8da2ee082ce19b8f9056d5b1..88c31b4bf5480212c17caaaf9358b9be47f27fce 100644
--- a/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
+++ b/MiniScanner/Features/ScanSession/Data/Repositores/ScanSessionsRepository.swift
@@ -184,16 +184,9 @@ extension ScanSessionsRepository {
                 let compressedOriginalImage = ImageCompressManager.compress(image: originalImage)
                 let compressedRenderedImage = ImageCompressManager.compress(image: renderedImage)
                 
-                let newScannedItem = ScannedItem(originalImage: compressedOriginalImage,
-                                                 renderImage: compressedRenderedImage,
-                                                 quad: item.quad,
-                                                 colorOption: item.colorOption,
-                                                 type: .local)
-                
-                newScannedItem.rotation = item.rotation
-                newScannedItem.signaturePosition = item.signaturePosition
-                newScannedItem.size = item.size
-                newScannedItem.rotate = item.rotate
+                let newScannedItem = item.createItem(originalImage: compressedOriginalImage,
+                                                     renderedImage: compressedRenderedImage,
+                                                     type: .local)
                 
                 if let imageUrl = item.newOriginalImage {
                     try? FileManager.default.removeItem(at: imageUrl)
diff --git a/MiniScanner/Managers/ImageCompressManager.swift b/MiniScanner/Managers/ImageCompressManager.swift
index 546b0094ee9b949c7fe4b7bb5272d9d9277161ff..c07882abb2e2295928bce3768287fd33ad1e853f 100644
--- a/MiniScanner/Managers/ImageCompressManager.swift
+++ b/MiniScanner/Managers/ImageCompressManager.swift
@@ -10,9 +10,15 @@ import Foundation
 
 class ImageCompressManager {
     
+    @Inject private static var deleteScanSessionUseCase: DeleteScanSessionUseCase
+    
     class func compress(image: UIImage) -> UIImage {
         wxCompress(image: image)
     }
+    
+    class func compress(scannedItem: ScannedItem) -> ScannedItem {
+        wxCompress(scannedItem: scannedItem)
+    }
 }
 
 extension ImageCompressManager {
@@ -20,4 +26,42 @@ extension ImageCompressManager {
     private class func wxCompress(image: UIImage) -> UIImage {
         image.wxCompress()
     }
+    
+    private class func wxCompress(scannedItem: ScannedItem) -> ScannedItem {
+        
+        guard let originalImage = scannedItem.newOriginalImage?.retrieveImage(),
+              let renderedImage = scannedItem.newRenderedImage?.retrieveImage()
+                
+        else { return scannedItem }
+        
+        // Remove the scanned item old files
+        removeScannedItemFile(scannedItem: scannedItem)
+        
+        let compressedOriginalImage = compress(image: originalImage)
+        let compressedRenderedImage = compress(image: renderedImage)
+        
+        let newScannedItem = scannedItem.createItem(originalImage: compressedOriginalImage,
+                                                    renderedImage: compressedRenderedImage,
+                                                    type: scannedItem.type)
+        
+        if let imageUrl = scannedItem.newOriginalImage {
+            try? FileManager.default.removeItem(at: imageUrl)
+        }
+        
+        if let imageUrl = scannedItem.newRenderedImage {
+            try? FileManager.default.removeItem(at: imageUrl)
+        }
+        
+        return newScannedItem
+    }
+    
+    private class func removeScannedItemFile(scannedItem: ScannedItem) {
+        
+        let scanSession = ScanSession(id: UUID(),
+                                      name: "",
+                                      creationDate: .now,
+                                      scannedItems: [scannedItem])
+        
+        deleteScanSessionUseCase.execute(with: scanSession)
+    }
 }
diff --git a/MiniScanner/Supporting Files/Frameworks/CustomWeScan/MultiPageSession/MultiPageScanSession.swift b/MiniScanner/Supporting Files/Frameworks/CustomWeScan/MultiPageSession/MultiPageScanSession.swift
index 897ea5d60d4741c095c877f06d0d9af5f3592907..318bc3bfe17cfd426951eb2c891f8578ed14e790 100644
--- a/MiniScanner/Supporting Files/Frameworks/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
+++ b/MiniScanner/Supporting Files/Frameworks/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
@@ -140,6 +140,27 @@ extension ScannedItem: Equatable {
     }
 }
 
+extension ScannedItem {
+    
+    func createItem(originalImage: UIImage,
+                    renderedImage: UIImage,
+                    type: ScannedItemType) -> ScannedItem {
+        
+        let newScannedItem = ScannedItem(originalImage: originalImage,
+                                         renderImage: renderedImage,
+                                         quad: quad,
+                                         colorOption: colorOption,
+                                         type: type)
+        
+        newScannedItem.rotation = rotation
+        newScannedItem.signaturePosition = signaturePosition
+        newScannedItem.size = size
+        newScannedItem.rotate = rotate
+        
+        return newScannedItem
+    }
+}
+
 public class MultiPageScanSession: Codable {
     
     public private(set) var scannedItems:Array<ScannedItem> = []
diff --git a/MiniScanner/Supporting Files/Frameworks/CustomWeScan/Scan/ScannerViewController.swift b/MiniScanner/Supporting Files/Frameworks/CustomWeScan/Scan/ScannerViewController.swift
index 81e8dae77528880b8d93303637d7664d1c647643..c5939a6c5bd3eadf756086cde671df24f69521e9 100644
--- a/MiniScanner/Supporting Files/Frameworks/CustomWeScan/Scan/ScannerViewController.swift	
+++ b/MiniScanner/Supporting Files/Frameworks/CustomWeScan/Scan/ScannerViewController.swift	
@@ -462,9 +462,16 @@ extension ScannerViewController: RectangleDetectionDelegateProtocol {
         
         scannedItem.rotation = self.getCurrentRotationAngle()
         scannedItem.colorOption = self.options.defaultColorRenderOption
-        scannedItem.render { (_) in self.updateCounterButton() }
         
-        scanSession.add(item: scannedItem)
+        scannedItem.render { [weak self] _ in
+            guard let self else { return }
+            
+            let compressedScannedItem = ImageCompressManager.compress(scannedItem: scannedItem)
+            
+            scanSession.add(item: compressedScannedItem)
+            
+            updateCounterButton()
+        }
         
         self.captureSessionManager?.start()
     }