diff --git a/src/api/datatransfermodel.h b/src/api/datatransfermodel.h
index 9394cf51c92e06399042a407570bdcc9e6c37b5e..0b6b041ce0a9e74bb4cf07ddbd412675e5249e11 100644
--- a/src/api/datatransfermodel.h
+++ b/src/api/datatransfermodel.h
@@ -66,18 +66,18 @@ public:
                           qlonglong& total,
                           qlonglong& progress);
 
-    QString accept(const QString& accountId,
-                   const QString& fileId,
-                   const QString& file_path,
-                   std::size_t offset);
+    QString accept(const QString& accountId, const QString& fileId, const QString& filePath = {});
 
     void download(const QString& accountId,
                   const QString& convId,
                   const QString& interactionId,
                   const QString& fileId,
-                  const QString& path);
+                  const QString& filePath = {});
 
-    void copyTo(const QString& accountId, const QString& convId, const QString& interactionId, const QString& destPath);
+    void copyTo(const QString& accountId,
+                const QString& convId,
+                const QString& interactionId,
+                const QString& destPath);
 
     void cancel(const QString& accountId, const QString& conversationId, const QString& fileId);
 
diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index be6cc0003a770600ba4da0ef7cfb4d21417f3aff..05420682a4269e06ca34a5ea653508e88258d657 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -3646,24 +3646,25 @@ ConversationModelPimpl::acceptTransfer(const QString& convUid,
                                        const QString& interactionId,
                                        const QString& path)
 {
-    auto destinationDir = linked.owner.accountModel->downloadDirectory;
-    if (destinationDir.isEmpty()) {
-        return;
-    }
+    auto& conversation = getConversationForUid(convUid).get();
+    if (conversation.isNotASwarm()) {
+        // This is a fallback, will be removed when swarm will be mandatory
+        auto destinationDir = linked.owner.accountModel->downloadDirectory;
+        if (destinationDir.isEmpty()) {
+            return;
+        }
 #ifdef Q_OS_WIN
-    if (destinationDir.right(1) != '/') {
-        destinationDir += "/";
-    }
+        if (destinationDir.right(1) != '/') {
+            destinationDir += "/";
+        }
 #endif
-    QDir dir = QFileInfo(destinationDir + path).absoluteDir();
-    if (!dir.exists())
-        dir.mkpath(".");
-    auto& conversation = getConversationForUid(convUid).get();
-    if (conversation.mode == conversation::Mode::NON_SWARM) {
+        QDir dir = QFileInfo(destinationDir + path).absoluteDir();
+        if (!dir.exists())
+            dir.mkpath(".");
+
         auto acceptedFilePath = linked.owner.dataTransferModel->accept(linked.owner.id,
                                                                        interactionId,
-                                                                       destinationDir + path,
-                                                                       0);
+                                                                       destinationDir + path);
         auto fileId = linked.owner.dataTransferModel->getFileIdFromInteractionId(interactionId);
         if (transfIdToDbIntId.find(fileId) != transfIdToDbIntId.end()) {
             auto dbInteractionId = transfIdToDbIntId[fileId];
@@ -3705,35 +3706,12 @@ ConversationModelPimpl::acceptTransfer(const QString& convUid,
 
     auto interaction = conversation.interactions.find(interactionId);
     if (interaction != conversation.interactions.end()) {
-        auto displayName = interaction->second.commit["displayName"];
         auto fileId = interaction->second.commit["fileId"];
         if (fileId.isEmpty()) {
             qWarning() << "Cannot download file without fileId";
-        }
-        if (displayName.isEmpty()) {
-            displayName = interactionId;
-        }
-        int i = 0;
-        auto path = destinationDir + displayName;
-        do {
-            if (i > 0) {
-                path = destinationDir + QString::number(i) + displayName;
-            }
-            QFileInfo fi(path);
-            if (!fi.isFile())
-                break;
-            ++i;
-
-        } while (i < 1000);
-        if (i == 1000) {
-            qWarning() << "Too much duplicates for " << destinationDir << path;
             return;
         }
-        linked.owner.dataTransferModel->download(linked.owner.id,
-                                                 convUid,
-                                                 interactionId,
-                                                 fileId,
-                                                 path);
+        linked.owner.dataTransferModel->download(linked.owner.id, convUid, interactionId, fileId);
     } else {
         qWarning() << "Cannot download file without valid interaction";
     }
diff --git a/src/datatransfermodel.cpp b/src/datatransfermodel.cpp
index 2df7baf0c24ae0609b5f2b1e8d057b51ce2f37d4..a895393753f2720147d35566f09a5c4b2337f48c 100644
--- a/src/datatransfermodel.cpp
+++ b/src/datatransfermodel.cpp
@@ -204,15 +204,12 @@ DataTransferModel::fileTransferInfo(const QString& accountId,
 }
 
 QString
-DataTransferModel::accept(const QString& accountId,
-                          const QString& fileId,
-                          const QString& file_path,
-                          std::size_t)
+DataTransferModel::accept(const QString& accountId, const QString& fileId, const QString& filePath)
 {
-    auto unique_file_path = pimpl_->getUniqueFilePath(file_path);
-    auto dring_id = pimpl_->interactionToFileId[fileId];
-    ConfigurationManager::instance().acceptFileTransfer(accountId, dring_id, unique_file_path);
-    return unique_file_path;
+    auto uniqueFilePath = pimpl_->getUniqueFilePath(filePath);
+    auto daemonFileId = pimpl_->interactionToFileId[fileId];
+    ConfigurationManager::instance().acceptFileTransfer(accountId, daemonFileId, uniqueFilePath);
+    return uniqueFilePath;
 }
 
 void
@@ -226,7 +223,10 @@ DataTransferModel::download(const QString& accountId,
 }
 
 void
-DataTransferModel::copyTo(const QString& accountId, const QString& convId, const QString& interactionId, const QString& destPath)
+DataTransferModel::copyTo(const QString& accountId,
+                          const QString& convId,
+                          const QString& interactionId,
+                          const QString& destPath)
 {
     auto fileId = getFileIdFromInteractionId(interactionId);
     if (fileId.isEmpty()) {
@@ -248,7 +248,6 @@ DataTransferModel::copyTo(const QString& accountId, const QString& convId, const
     src.copy(dest);
 }
 
-
 void
 DataTransferModel::cancel(const QString& accountId,
                           const QString& conversationId,