             }
         }
     }
+
+    if message.mediaType == MessageMediaType.Video.rawValue {
+        let thumbnailURLString = message.thumbnailURLString
+
+        if !thumbnailURLString.isEmpty && message.localThumbnailName.isEmpty {
+            if let url = NSURL(string: attachmentURLString) {
+                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
+                    let data = NSData(contentsOfURL: url)
+
+                    if let data = data {
+                        let fileName = NSUUID().UUIDString
+
+                        dispatch_async(dispatch_get_main_queue()) {
+
+                            if let fileURL = NSFileManager.saveMessageImageData(data, withName: fileName) {
+                                updateThumbnailOfMessage(message, withThumbnailFileName: fileName)
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
 }
 
 func syncFriendshipsAndDoFurtherAction(furtherAction: () -> Void) {

        realm.commitWriteTransaction()
    }

    let attachmentURLString = message.attachmentURLString
    let localAttachmentName = message.localAttachmentName

    if !attachmentURLString.isEmpty && message.downloadState != MessageDownloadState.Downloaded.rawValue {
        if let url = NSURL(string: attachmentURLString) {

                        switch message.mediaType {
                        case MessageMediaType.Image.rawValue:
                            if let fileURL = NSFileManager.saveMessageImageData(data, withName: fileName) {
                                updateAttachmentOfMessage(message, withAttachmentFileName: fileName)
                            }

                        case MessageMediaType.Video.rawValue:
                            if let fileURL = NSFileManager.saveMessageVideoData(data, withName: fileName) {
                                updateAttachmentOfMessage(message, withAttachmentFileName: fileName)
                            }

                        case MessageMediaType.Audio.rawValue:
                            if let fileURL = NSFileManager.saveMessageAudioData(data, withName: fileName) {
                                updateAttachmentOfMessage(message, withAttachmentFileName: fileName)
                            }
                            
                        default:
