diff --git a/src/data_transfer.cpp b/src/data_transfer.cpp
index 61289b77d9d39b3e2e5ed9dd3284af037628b7ce..b2fa6f587ec5ddf24e6aa71fa6100f2291694071 100644
--- a/src/data_transfer.cpp
+++ b/src/data_transfer.cpp
@@ -284,10 +284,10 @@ IncomingFileTransfer::close() noexcept
 
     try {
         filenamePromise_.set_value();
-        fout_.close();
-        RING_DBG() << "[FTP] file closed with size " << info_.bytesProgress;
     } catch (...) {}
 
+    fout_.close();
+    RING_DBG() << "[FTP] file closed with size " << info_.bytesProgress;
 
     emit(DRing::DataTransferEventCode::finished);
 }