diff --git a/src/app/handlers/xdgurlhandler.cpp b/src/app/handlers/xdgurlhandler.cpp
index 35816c97a4234d9f34e5d489f8a7ea3033fe6b13..b2886d3cffbca05ab8a7dceec8027d8c27cc358b 100644
--- a/src/app/handlers/xdgurlhandler.cpp
+++ b/src/app/handlers/xdgurlhandler.cpp
@@ -66,7 +66,8 @@ bool XdgUrlHandler::isValid()
 
 void XdgUrlHandler::openDestination()
 {
-    QDesktopServices::openUrl(QUrl("file://" + destinations_[metadata_["type"].toString()].toString()));
+    QString type = metadata_["type"].toString();
+    QDesktopServices::openUrl(QUrl("file://" + destinations_[type].toString()));
 }
 
 void XdgUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource)