diff --git a/src/components/compose.jsx b/src/components/compose.jsx
index 2e5a7e30..aa7dfeea 100644
--- a/src/components/compose.jsx
+++ b/src/components/compose.jsx
@@ -726,10 +726,11 @@ function Compose({
         {mediaAttachments.length > 0 && (
           <div class="media-attachments">
             {mediaAttachments.map((attachment, i) => {
-              const { id } = attachment;
+              const { id, file } = attachment;
+              const fileID = file?.size + file?.type + file?.name;
               return (
                 <MediaAttachment
-                  key={i + id}
+                  key={id || fileID || i}
                   attachment={attachment}
                   disabled={uiState === 'loading'}
                   onDescriptionChange={(value) => {