diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp
index 6cf2f4f724008b9d7af22b42c975b12f7eade303..08d21f51ddb085483819c542330accceeaa1695d 100644
--- a/src/handlers/xdgurl.cpp
+++ b/src/handlers/xdgurl.cpp
@@ -112,11 +112,19 @@ QJsonObject XdgUrl::_importDestinations()
 
 QJsonObject XdgUrl::_importArchiveTypes()
 {
-    //QJsonObject archiveTypes;
-    //QJsonObject appConfigArchiveTypes = _appConfig->get("archive_types");
+    QJsonObject archiveTypes;
+    QJsonObject appConfigArchiveTypes = _appConfig->get("archive_types");
+    QJsonObject userConfigArchiveTypes = _userConfig->get("archive_types");
 
-    //return archiveTypes;
-    return _appConfig->get("archive_types");
+    archiveTypes = appConfigArchiveTypes;
+
+    if (!userConfigArchiveTypes.isEmpty()) {
+        foreach (const QString key, userConfigArchiveTypes.keys()) {
+            archiveTypes[key] = userConfigArchiveTypes.value(key);
+        }
+    }
+
+    return archiveTypes;
 }
 
 bool XdgUrl::_installPlasmapkg(const QString &path, const QString &type)