                 return previewTransitionViews?[index]
             }
 
-        } else if photo is PreviewMessagePhoto {
-            return (previewTransitionViews?.first)!
+        } else if let previewMessagePhoto = photo as? PreviewMessagePhoto {
+            if let index = previewMessagePhotos.indexOf(previewMessagePhoto) where index == previewMessagePhotoInitialIndex {
+                return (previewTransitionViews?.first)!
+            }
         }
 
         return nil


                        let previewMessagePhotos = mediaMessages.map({ PreviewMessagePhoto(message: $0) })
                        self.previewMessagePhotos = previewMessagePhotos

                        let photos: [Photo] = previewMessagePhotos.map({ $0 })
                        let initialPhoto = photos[index]

    private var previewTransitionViews: [UIView?]?
    private var previewAttachmentPhotos: [PreviewAttachmentPhoto] = []
    private var previewMessagePhotos: [PreviewMessagePhoto] = []
    private var previewMessagePhotoInitialIndex: Int = 0

    deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
