diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp
index 06d06c281b5839bad3f77f79e1f18b2967f80e66..3ab4e3b588c13402622eff3c46e6c74ed33207f2 100644
--- a/src/handlers/xdgurl.cpp
+++ b/src/handlers/xdgurl.cpp
@@ -102,7 +102,7 @@ void XdgUrl::_saveDownloadedFile(QNetworkReply *reply)
     if (!temporaryFile.open() || temporaryFile.write(reply->readAll()) == -1) {
         result["status"] = QString("error_save");
         result["message"] = temporaryFile.errorString();
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -112,7 +112,7 @@ void XdgUrl::_saveDownloadedFile(QNetworkReply *reply)
     if (mimeType == "text/html" || mimeType == "application/xhtml+xml") {
         result["status"] = QString("error_filetype");
         result["message"] = QString("The file is unsupported file type " + mimeType);
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -126,7 +126,7 @@ void XdgUrl::_saveDownloadedFile(QNetworkReply *reply)
     if (!temporaryFile.copy(path)) {
         result["status"] = QString("error_save");
         result["message"] = temporaryFile.errorString();
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -144,7 +144,7 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
     if (!temporaryFile.open() || temporaryFile.write(reply->readAll()) == -1) {
         result["status"] = QString("error_save");
         result["message"] = temporaryFile.errorString();
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -154,7 +154,7 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
     if (mimeType == "text/html" || mimeType == "application/xhtml+xml") {
         result["status"] = QString("error_filetype");
         result["message"] = QString("The file is unsupported file type " + mimeType);
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -198,7 +198,7 @@ void XdgUrl::_installDownloadedFile(QNetworkReply *reply)
     else {
         result["status"] = QString("error_install");
         result["message"] = temporaryFile.errorString();
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -216,7 +216,7 @@ void XdgUrl::_downloaded(QNetworkReply *reply)
         QJsonObject result;
         result["status"] = QString("error_network");
         result["message"] = reply->errorString();
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
@@ -282,7 +282,7 @@ void XdgUrl::process()
         QJsonObject result;
         result["status"] = QString("error_validation");
         result["message"] = QString("Invalid XDG-URL " + _xdgUrl);
-        emit finished(Utility::Json::convertObjToStr(result));
+        emit error(Utility::Json::convertObjToStr(result));
         return;
     }
 
diff --git a/src/handlers/xdgurl.h b/src/handlers/xdgurl.h
index daf4649504c71959fc0191f17d03daed855fd742..ada3943c6061949dd7a3096ed06e6bc169dc3b5e 100644
--- a/src/handlers/xdgurl.h
+++ b/src/handlers/xdgurl.h
@@ -47,6 +47,7 @@ public slots:
 signals:
     void started();
     void finished(const QString &result);
+    void error(const QString &result);
 };
 
 } // namespace Handlers