diff --git a/mainwindow.cpp b/mainwindow.cpp
index 4e8ea625bed2b066289f8b0c0e97b2cda0fab7d9..4756da8d816f996b6afa94c614265eab0e82ee50 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -287,8 +287,10 @@ MainWindow::readSettingsFromRegistry()
     QSettings settings;
     restoreGeometry(settings.value(SettingsKey::geometry).toByteArray());
     restoreState(settings.value(SettingsKey::windowState).toByteArray());
-    LRCInstance::editableDataTransferModel()->downloadDirectory = settings.
-        value(SettingsKey::downloadPath, "Downloads").toString().toStdString() + "/";
+
+    LRCInstance::editableDataTransferModel()->downloadDirectory = settings.value(SettingsKey::downloadPath,
+        QStandardPaths::writableLocation(QStandardPaths::DownloadLocation)).toString().toStdString() + "/";
+
     if (not settings.contains(SettingsKey::enableNotifications)) {
         settings.setValue(SettingsKey::enableNotifications, true);
     }
diff --git a/messagewebview.cpp b/messagewebview.cpp
index a662e2d587d383a470a0c6cc1791c28a70095dcc..de7d70ad8afc5cdf4995bce2ba43a860d7e305ec 100644
--- a/messagewebview.cpp
+++ b/messagewebview.cpp
@@ -284,10 +284,8 @@ PrivateBridging::acceptFile(const QString& arg)
         auto convUid = LRCInstance::getSelectedConvUid();
         LRCInstance::getCurrentConversationModel()->getTransferInfo(interactionUid, info);
 
-        auto downloadsFolder = QSettings().value(SettingsKey::downloadPath, "Downloads").toString().toStdString() + "/";
-
         // get full path
-        std::string filename = downloadsFolder.c_str();
+        std::string filename = LRCInstance::dataTransferModel().downloadDirectory.c_str();
         if (!filename.empty() && filename.back() != '/')
             filename += "/";
         auto wantedFilename = filename + info.displayName;