diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp
index 8b8b547fcde6617cfd5929dfce708bed4cafd90e..19ca22524701e3de805a00281eaf7ae15127f614 100644
--- a/src/handlers/xdgurl.cpp
+++ b/src/handlers/xdgurl.cpp
@@ -20,6 +20,8 @@ XdgUrl::XdgUrl(const QString &xdgUrl, Core::Config *appConfig, Core::Config *use
 {
     _metadata = _parse();
     _destinations = _loadDestinations();
+
+    connect(_asyncNetwork, &Core::Network::finished, this, &XdgUrl::_downloaded);
 }
 
 QJsonObject XdgUrl::_parse()
@@ -306,7 +308,6 @@ void XdgUrl::process()
      */
 
     if (isValid()) {
-        connect(_asyncNetwork, &Core::Network::finished, this, &XdgUrl::_downloaded);
         _asyncNetwork->get(QUrl(_metadata["url"].toString()));
     }
 }