                 if let image = image {
                     display(image: image.firtImage, index: 0)
                     link.paused = image.frameCount < 2
+                    currentImage = image.firtImage
                 } else {
                     stop()
                 }
-            }
-        }
-    }
-    let display: (image: UIImage, index: Int) -> Void
-    let stop: () -> Void
+            } else {
+                if let image = currentImage {
+                    display(image: image, index: frameIndex)
+                }
+            }
+        }
+    }
+    var display: (image: UIImage, index: Int) -> Void
+    var stop: () -> Void
     
     private var link: CADisplayLink!
     

            onTimeElapse?(time)
        }
    }
    
    public var image: AnimatedImage? {
        didSet {

            if let state = state {
                miss = false
                if case .Image(let image) = state {
                    currentImage = image
                    display(image: image, index: index)
                }
            } else {
