diff --git a/src/services/status_poster/status_poster.service.js b/src/services/status_poster/status_poster.service.js
index 850993f7e7d21fcd32943cb716daab344b79f858..bc1fd37d263479d33c97bca527626b6af2f45db3 100644
--- a/src/services/status_poster/status_poster.service.js
+++ b/src/services/status_poster/status_poster.service.js
@@ -20,12 +20,23 @@ const uploadMedia = ({ store, formData }) => {
   const credentials = store.state.users.currentUser.credentials
 
   return apiService.uploadMedia({ credentials, formData }).then((xml) => {
-    return {
+    // Firefox and Chrome treat method differently...
+    let link = xml.getElementsByTagName('link')
+
+    if (link.length === 0) {
+      link = xml.getElementsByTagName('atom:link')
+    }
+
+    link = link[0]
+
+    const mediaData = {
       id: xml.getElementsByTagName('media_id')[0].textContent,
       url: xml.getElementsByTagName('media_url')[0].textContent,
-      image: xml.getElementsByTagName('atom:link')[0].getAttribute('href'),
-      mimetype: xml.getElementsByTagName('atom:link')[0].getAttribute('type')
+      image: link.getAttribute('href'),
+      mimetype: link.getAttribute('type')
     }
+
+    return mediaData
   })
 }