diff --git a/gajim/common/modules/httpupload.py b/gajim/common/modules/httpupload.py
index 0d29d301245b52331fdb32e3cb4aad274e06aeb7..4b0f55125f224aa00f788da2429d64a0b7119b8c 100644
--- a/gajim/common/modules/httpupload.py
+++ b/gajim/common/modules/httpupload.py
@@ -110,7 +110,7 @@ def make_transfer(self, path, encryption, contact, groupchat=False):
                     'maximum allowed file size is: %s') % size
 
         if invalid_file:
-            raise FileError('file-error', msg)
+            raise FileError(msg)
 
         mime = mimetypes.MimeTypes().guess_type(path)[0]
         if not mime:
diff --git a/gajim/gtk/filetransfer_progress.py b/gajim/gtk/filetransfer_progress.py
index d6cf4c837c7023e7d4e6c4bed2b87a9c5d15970c..a4fc02ae21626b7e327c03061616c0ee3d0f6682 100644
--- a/gajim/gtk/filetransfer_progress.py
+++ b/gajim/gtk/filetransfer_progress.py
@@ -59,7 +59,9 @@ def __init__(self, transfer):
 
     def _on_transfer_state_change(self, transfer, _signal_name, state):
         if state.is_error:
-            ErrorDialog(_('Upload Failed'), transfer.error_text)
+            ErrorDialog(_('Upload Failed'),
+                        transfer.error_text,
+                        transient_for=app.interface.roster.window)
             self.destroy()
 
         if state.is_finished or state.is_cancelled: