diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp
index 646ef59f0664e859cd86f0398478d8dbc652aa64..36904e276ce9d4b565951454be07c3c42b223119 100644
--- a/src/handlers/xdgurl.cpp
+++ b/src/handlers/xdgurl.cpp
@@ -177,8 +177,7 @@ void XdgUrl::_downloaded(QNetworkReply *reply)
     if (reply->hasRawHeader("Refresh")) {
         QString refreshUrl = QString(reply->rawHeader("Refresh")).split("url=").last();
         if (refreshUrl.startsWith("/")) {
-            QUrl url = reply->url();
-            refreshUrl = url.scheme() + "://" + url.host() + refreshUrl;
+            refreshUrl = reply->url().authority() + refreshUrl;
         }
         _asyncNetwork->get(QUrl(refreshUrl));
         return;