diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt
index 9791b595fa82e7555a9564383d1a5c10538ab5db..ada852370296325da6d61a033a9e0e975b437787 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt
@@ -44,10 +44,11 @@ internal class ThumbnailExtractor @Inject constructor(
 
     //Changed for Circles
     fun extractThumbnail(attachment: ContentAttachmentData): ThumbnailData? {
-        return if (attachment.type == ContentAttachmentData.Type.VIDEO) {
-            extractVideoThumbnail(attachment)
-        } else {
-            null
+        if (attachment.mimeType == MimeTypes.Gif || attachment.mimeType == MimeTypes.Webp) return null
+        return when (attachment.type) {
+            ContentAttachmentData.Type.VIDEO -> extractVideoThumbnail(attachment)
+            ContentAttachmentData.Type.IMAGE -> extractImageThumbnail(attachment)
+            else                             -> null
         }
     }
 
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt
index 3dd440737ad693991b7d14cc812ab9b3623f6efd..d3abc052f723e1c0ea0aa334d6d3930e20498f7d 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt
@@ -185,6 +185,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter
                 } else if (attachment.type == ContentAttachmentData.Type.VIDEO &&
                         // Do not compress gif
                         attachment.mimeType != MimeTypes.Gif &&
+                        attachment.mimeType != MimeTypes.Webp &&
                         params.compressBeforeSending) {
                     fileToUpload = videoCompressor.compress(workingFile, object : ProgressListener {
                         override fun onProgress(progress: Int, total: Int) {
@@ -399,6 +400,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter
         }
     }
 
+    // Added thumbnailUrl, thumbnailEncryptedFileInfo to Image content for Circles
     private suspend fun updateEvent(
             eventId: String,
             url: String,
@@ -413,7 +415,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter
             // Retrieve potential additional content from the original event
             val additionalContent = content.orEmpty() - messageContent?.toContent().orEmpty().keys
             val updatedContent = when (messageContent) {
-                is MessageImageContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes)
+                is MessageImageContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newAttachmentAttributes)
                 is MessageVideoContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newAttachmentAttributes)
                 is MessageFileContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize)
                 is MessageAudioContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize)
@@ -427,15 +429,20 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter
         params.localEchoIds.forEach { function.invoke(it.eventId) }
     }
 
+    //Added thumbnailUrl,thumbnailEncryptedFileInfo for circles
     private fun MessageImageContent.update(
             url: String,
             encryptedFileInfo: EncryptedFileInfo?,
+            thumbnailUrl: String?,
+            thumbnailEncryptedFileInfo: EncryptedFileInfo?,
             newAttachmentAttributes: NewAttachmentAttributes?
     ): MessageImageContent {
         return copy(
                 url = if (encryptedFileInfo == null) url else null,
                 encryptedFileInfo = encryptedFileInfo?.copy(url = url),
                 info = info?.copy(
+                        thumbnailUrl = if (thumbnailEncryptedFileInfo == null) thumbnailUrl else null,
+                        thumbnailFile = thumbnailEncryptedFileInfo?.copy(url = thumbnailUrl),
                         width = newAttachmentAttributes?.newWidth ?: info.width,
                         height = newAttachmentAttributes?.newHeight ?: info.height,
                         size = newAttachmentAttributes?.newFileSize ?: info.size