diff --git a/core/src/main/java/org/futo/circles/core/extensions/ImageViewExtensions.kt b/core/src/main/java/org/futo/circles/core/extensions/ImageViewExtensions.kt
index 681a6fe681c98ed6b7cdedc0874c33c372f1d562..6c97f09829032ecb1e1f3393d5591d5440a14dcb 100644
--- a/core/src/main/java/org/futo/circles/core/extensions/ImageViewExtensions.kt
+++ b/core/src/main/java/org/futo/circles/core/extensions/ImageViewExtensions.kt
@@ -83,13 +83,19 @@ fun ImageView.loadMatrixImage(
     session: Session? = null,
     applyBlur: Boolean = false
 ) {
-    val currentSession = session ?: MatrixSessionProvider.currentSession
-    val size = if (loadOriginalSize) null else preferredSize ?: Size(width, height)
-    val resolvedUrl = currentSession?.resolveUrl(url, size)
-    Glide.with(this)
-        .load(resolvedUrl)
-        .fitCenter()
-        .error(placeholder)
-        .apply { if (applyBlur) transform(BlurTransformation(30)) }
-        .into(this)
+    post {
+        val currentSession = session ?: MatrixSessionProvider.currentSession
+        val size = if (loadOriginalSize) null
+        else preferredSize ?: Size(
+            measuredWidth,
+            measuredHeight
+        ).takeIf { measuredWidth > 0 && measuredHeight > 0 }
+        val resolvedUrl = currentSession?.resolveUrl(url, size)
+        Glide.with(this)
+            .load(resolvedUrl)
+            .fitCenter()
+            .error(placeholder)
+            .apply { if (applyBlur) transform(BlurTransformation(30)) }
+            .into(this)
+    }
 }
\ No newline at end of file