diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp
index a91f24ea7670684ade7f4dd56d21e8c01d5ad12a..ee3a1a7d3bbc56ba67eaca626d94477ac9a699b6 100644
--- a/src/data_transfer.cpp
+++ b/src/data_transfer.cpp
@@ -508,15 +508,6 @@ public:
         return newTransfer;
     }
 
-    bool cancel(bool channeled)
-    {
-        if (channeled)
-            cancelChanneled_ = true;
-        else
-            cancelIce_ = true;
-        return cancelChanneled_ && cancelIce_;
-    }
-
     bool hasBeenStarted() const override
     {
         // Started if one subtransfer is started
@@ -537,9 +528,6 @@ public:
 private:
     OutgoingFileTransfer() = delete;
 
-    std::atomic_bool cancelChanneled_ {false};
-    std::atomic_bool cancelIce_ {false};
-
     mutable std::shared_ptr<OptimisticMetaOutgoingInfo> metaInfo_;
     mutable std::ifstream input_;
     mutable std::vector<std::shared_ptr<SubOutgoingFileTransfer>> subtransfer_;
@@ -568,9 +556,8 @@ OutgoingFileTransfer::OutgoingFileTransfer(DRing::DataTransferId tid,
 void
 OutgoingFileTransfer::close() noexcept
 {
-    if (cancelChanneled_ && cancelIce_)
-        for (const auto& subtransfer : subtransfer_)
-            subtransfer->close();
+    for (const auto& subtransfer : subtransfer_)
+        subtransfer->close();
 }
 
 //==============================================================================
@@ -848,8 +835,7 @@ DataTransferFacade::sendFile(const DRing::DataTransferInfo& info,
             },
             [this, tid]() {
                 if (auto transfer = pimpl_->getTransfer(tid))
-                    if (std::dynamic_pointer_cast<OutgoingFileTransfer>(transfer)->cancel(true)
-                        and not transfer->hasBeenStarted()) {
+                    if (not transfer->hasBeenStarted()) {
                         transfer->emit(DRing::DataTransferEventCode::unjoinable_peer);
                         pimpl_->cancel(*transfer);
                     }