diff --git a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
index 3d84ef67d4aff0757efe5dc0dabcb16a1089fc59..2f44e5277ae465715e37e4c675c280520ae27f1e 100644
Binary files a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate and b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift b/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
index 41973314973ba995f15dcf0858d84afa2d23a6d9..7294d2306bbbf7d07cc527a150260c54ee3bc689 100644
--- a/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
+++ b/MiniScanner/Modules/EditViewController/CustomViews/BannerView.swift
@@ -147,29 +147,22 @@ extension BannerView: FSPagerViewDataSource,FSPagerViewDelegate {
     }
     func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
         let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
+        if let item = scanSession?.scannedItems[index] {
+
         cell.index = index
         cell.delegate = self
-        
-        if let item = scanSession?.scannedItems[index] {
-            cell.imageView?.image = item.renderedImage?.retrieveImage()
-        }
-        if isEditing {
-            if signAllDoc {
-                if cell.sign == nil {
-                    cell.sign = signatureImage
-                }
-            } else {
-                if index == pagerView.currentIndex {
-                    if cell.sign == nil {
-                        cell.sign = signatureImage
-                    }
+        cell.session = item
+            cell.imageView?.image = cell.session.renderedImage?.retrieveImage()
+            if let signature = cell.session.signtureImage {
+                if index == pagerView.currentIndex && signature != UIImage(){
+                    cell.sign = signature
                 }
             }
         }
-        
         return cell
     }
     
+    
     func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int) {
         delegate?.updateSelectedIndex(index: targetIndex)
     }
diff --git a/MiniScanner/Modules/EditViewController/EditViewController.swift b/MiniScanner/Modules/EditViewController/EditViewController.swift
index 04f7f75fee73b6027ca33d3790039965f278825c..a867e5194fb016e2f71dc2cdde0197ccfdccc377 100644
--- a/MiniScanner/Modules/EditViewController/EditViewController.swift
+++ b/MiniScanner/Modules/EditViewController/EditViewController.swift
@@ -81,7 +81,7 @@ public class EditViewController: UIViewController {
                     scannedItem.rotation = 180
                     self.scanSession = self.scanSession?.replaceAndGet(item: scannedItem, at: banner.pagerView.currentIndex)
                     self.banner.scanSession = self.scanSession
-                    self.banner.pagerView.reloadData()
+                    self.banner.pagerView.reloadData(at: banner.pagerView.currentIndex )
                     updatePageLabel()
                 }
             }
@@ -389,9 +389,18 @@ extension EditViewController: EPSignatureDelegate {
             let alertController = UIAlertController(title: "", message: "Do you want to sign:", preferredStyle: .alert)
             
             let allAction = UIAlertAction(title: "All document", style: .default) { (action) in
-                self.banner.signatureImage = signatureImage
-                self.banner.signAllDoc = true
-                self.banner.pagerView.reloadData()
+                if let items = self.scanSession?.scannedItems {
+                    for (index, _) in items.enumerated() {
+                        if index == self.banner.pagerView.currentIndex {
+                            self.scanSession?.scannedItems[index].signtureImage = signatureImage
+                        } else {
+                            self.scanSession?.scannedItems[index].signtureImage = UIImage()
+                        }
+                    }
+                    self.banner.scanSession = self.scanSession
+                    self.banner.signAllDoc = false
+                    self.banner.pagerView.reloadData()
+                }
                 
                 let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: self, action: #selector(self.onTouchDoneButton))
                 self.navigationItem.rightBarButtonItem = doneButton
@@ -399,9 +408,18 @@ extension EditViewController: EPSignatureDelegate {
             }
             
             let currentAction = UIAlertAction(title: "Current page", style: .default) { (action) in
-                self.banner.signatureImage = signatureImage
-                self.banner.signAllDoc = false
-                self.banner.pagerView.reloadData()
+                if let items = self.scanSession?.scannedItems {
+                    for (index, _) in items.enumerated() {
+                        if index == self.banner.pagerView.currentIndex {
+                            self.scanSession?.scannedItems[index].signtureImage = signatureImage
+                        } else {
+                            self.scanSession?.scannedItems[index].signtureImage = UIImage()
+                        }
+                    }
+                    self.banner.scanSession = self.scanSession
+                    self.banner.signAllDoc = false
+                    self.banner.pagerView.reloadData()
+                }
                 
                 let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: self, action: #selector(self.onTouchDoneButton))
                 self.navigationItem.rightBarButtonItem = doneButton
diff --git a/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift
index fbc9168b7adacb89e6651e190d4ca7f7b518eb51..214ff8e1472f8a8610657f9c76048b40959696c2 100644
--- a/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
+++ b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift	
@@ -31,7 +31,9 @@ public class ScannedItem{
     
     /// The deskewed and cropped orignal image using the detected rectangle, without any filters.
     var renderedImage:URL? = nil
-
+    
+    var signtureImage: UIImage?
+    
     public init(originalImage:UIImage, quad:Quadrilateral? = nil, colorOption:ScannedItemColorOption = .color) {
         self.originalImage = filePath().saveImage(image: originalImage.withFixedOrientation())
         self.quad = quad
diff --git a/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift b/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift
index 9b4b55c81d45fd2c73fa74bc78bfedfc21415db3..870ad1bedffed46aa2589e4a73419012e5ee4815 100644
--- a/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift	
+++ b/MiniScanner/Supporting Files/Sources/FSPagerViewCell.swift	
@@ -19,10 +19,12 @@ open class FSPagerViewCell: UICollectionViewCell {
     open var index: Int?
     open var sign: UIImage! {
         didSet {
-            loadCaptureSignature(sign ?? UIImage())
+            if sign != UIImage() {
+                loadCaptureSignature(sign ?? UIImage())
+            }
         }
     }
-    var session: MultiPageScanSession?
+    var session: ScannedItem!
     
     private var selectedStickerView:StickerView?
     
@@ -44,6 +46,10 @@ open class FSPagerViewCell: UICollectionViewCell {
         }
     }
     
+    open override func prepareForReuse() {
+        super.prepareForReuse()
+    }
+    
     /// Returns the label used for the main textual content of the pager view cell.
     @objc
     open var textLabel: UILabel? {
@@ -134,7 +140,7 @@ open class FSPagerViewCell: UICollectionViewCell {
         }
     }
     
-
+    
     
     open override var isSelected: Bool {
         set {
@@ -232,30 +238,34 @@ open class FSPagerViewCell: UICollectionViewCell {
     
     func loadCaptureSignature(_ cropImage : UIImage)
     {
-        let grayImg = grayscale(image: cropImage)
-        let newImage = grayImg
-        
-        let imageSize = CGSize(width: 125, height: 125)
-        
-        let testImage = UIImageView()
-        testImage.frame.size = imageSize
-        testImage.contentMode = .scaleAspectFit
-        testImage.image = newImage
-        
-        let stickerView = StickerView.init(contentView: testImage)
-        stickerView.center = contentView.center
-        stickerView.delegate = self
-        if let exitIcon = UIImage(named: "close"),
-           let rotateIcon =  UIImage(named: "resize") {
-            stickerView.setImage(exitIcon, forHandler: StickerViewHandler.close)
-            stickerView.setImage(rotateIcon, forHandler: StickerViewHandler.rotate)
-        }
-        
-        stickerView.showEditing = false
-        
-        self.selectedStickerView1 = stickerView
-        if let sign = self.selectedStickerView1 {
+        if cropImage != UIImage(named: "") {
+            let grayImg = grayscale(image: cropImage)
+            let newImage = grayImg
+            
+            let imageSize = CGSize(width: 125, height: 125)
+            
+            let testImage = UIImageView()
+            testImage.frame.size = imageSize
+            testImage.contentMode = .scaleAspectFit
+            testImage.image = newImage
+            
+            let stickerView = StickerView.init(contentView: testImage)
+            stickerView.center = contentView.center
+            stickerView.delegate = self
+            if let exitIcon = UIImage(named: "close"),
+               let rotateIcon =  UIImage(named: "resize") {
+                stickerView.setImage(exitIcon, forHandler: StickerViewHandler.close)
+                stickerView.setImage(rotateIcon, forHandler: StickerViewHandler.rotate)
+            }
+            
+            stickerView.showEditing = false
+            
+            self.selectedStickerView1 = stickerView
+            if let sign = self.selectedStickerView1 {
                 contentView.addSubview(sign)
+            }
+        } else {
+            self.selectedStickerView1?.removeFromSuperview()
         }
     }
 }