diff --git a/gajim/common/connection.py b/gajim/common/connection.py
index 20da1165e62342e74e1a38f53664386b52843632..fde4bc4f288c44deb1a5c9c0f4e84812073a1868 100644
--- a/gajim/common/connection.py
+++ b/gajim/common/connection.py
@@ -165,7 +165,6 @@ class CommonConnection:
         # the fake jid
         self.groupchat_jids = {} # {ID : groupchat_jid}
 
-        self.httpupload = False
         self.privacy_rules_supported = False
         self.vcard_supported = False
         self.private_storage_supported = False
@@ -1970,8 +1969,6 @@ class Connection(CommonConnection, ConnectionHandlers):
 
                 self._continue_connection_request_privacy()
 
-            if nbxmpp.NS_HTTPUPLOAD in obj.features:
-                self.httpupload = True
             if nbxmpp.NS_BYTESTREAM in obj.features and \
             app.config.get_per('accounts', self.name, 'use_ft_proxies'):
                 our_fjid = helpers.parse_jid(our_jid + '/' + \
diff --git a/gajim/common/httpupload.py b/gajim/common/httpupload.py
index f9ae2232cc5bb563b40add218af184e9d05bece3..c7f63f77db86534ed87116212c7f8b881f88e508 100644
--- a/gajim/common/httpupload.py
+++ b/gajim/common/httpupload.py
@@ -47,6 +47,7 @@ class ConnectionHTTPUpload:
     (XEP-0363, https://xmpp.org/extensions/xep-0363.html)
     """
     def __init__(self):
+        self.httpupload = False
         self.encrypted_upload = False
         self.component = None
         self.max_file_size = None  # maximum file size in bytes
@@ -103,6 +104,10 @@ class ConnectionHTTPUpload:
             log.info('%s has a maximum file size of: %s MiB',
                      account, self.max_file_size/(1024*1024))
 
+        self.httpupload = True
+        for ctrl in app.interface.msg_win_mgr.get_controls(acct=self.name):
+            ctrl.update_actions()
+
     def handle_outgoing_stanza(self, event):
         if event.conn.name != self.name:
             return