diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift
index 89c472ce7c10a142cd49b559ff149af11997d09b..c7ee476c543c7096c7bcf8dca8716c607775faff 100644
--- a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift
+++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift
@@ -19,6 +19,8 @@ extension MessengerDestroy {
           env.sleep(1)
         }
       }
+      env.fileTransfer.set(nil)
+      env.backup.set(nil)
       env.ud.set(nil)
       env.e2e.set(nil)
       env.cMix.set(nil)
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift
index 99a52e8402ac9c93e71988adaf99610f21b1cb95..927bc9e3c247814be28172cb97407d4b7f843ad7 100644
--- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift
@@ -10,6 +10,8 @@ final class MessengerDestroyTests: XCTestCase {
     var didStopNetworkFollower = 0
     var didSleep: [TimeInterval] = []
     var didRemoveItem: [String] = []
+    var didSetFileTransfer: [FileTransfer?] = []
+    var didSetBackup: [Backup?] = []
     var didSetUD: [UserDiscovery?] = []
     var didSetE2E: [E2E?] = []
     var didSetCMix: [CMix?] = []
@@ -26,6 +28,8 @@ final class MessengerDestroyTests: XCTestCase {
     }
     env.sleep = { didSleep.append($0) }
     env.storageDir = storageDir
+    env.fileTransfer.set = { didSetFileTransfer.append($0) }
+    env.backup.set = { didSetBackup.append($0) }
     env.ud.set = { didSetUD.append($0) }
     env.e2e.set = { didSetE2E.append($0) }
     env.cMix.set = { didSetCMix.append($0) }
@@ -38,6 +42,8 @@ final class MessengerDestroyTests: XCTestCase {
 
     XCTAssertNoDifference(didStopNetworkFollower, 1)
     XCTAssertNoDifference(didSleep, [1, 1])
+    XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true])
+    XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
@@ -67,6 +73,8 @@ final class MessengerDestroyTests: XCTestCase {
   func testRemoveDirectoryFailure() {
     struct Error: Swift.Error, Equatable {}
     let error = Error()
+    var didSetFileTransfer: [FileTransfer?] = []
+    var didSetBackup: [Backup?] = []
     var didSetUD: [UserDiscovery?] = []
     var didSetE2E: [E2E?] = []
     var didSetCMix: [CMix?] = []
@@ -74,6 +82,8 @@ final class MessengerDestroyTests: XCTestCase {
 
     var env: MessengerEnvironment = .unimplemented
     env.cMix.get = { nil }
+    env.fileTransfer.set = { didSetFileTransfer.append($0) }
+    env.backup.set = { didSetBackup.append($0) }
     env.ud.set = { didSetUD.append($0) }
     env.e2e.set = { didSetE2E.append($0) }
     env.cMix.set = { didSetCMix.append($0) }
@@ -84,6 +94,8 @@ final class MessengerDestroyTests: XCTestCase {
     XCTAssertThrowsError(try destroy()) { err in
       XCTAssertEqual(err as? Error, error)
     }
+    XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true])
+    XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
@@ -95,6 +107,8 @@ final class MessengerDestroyTests: XCTestCase {
     let error = Error()
     let storageDir = "test-storage-dir"
     var didRemoveItem: [String] = []
+    var didSetFileTransfer: [FileTransfer?] = []
+    var didSetBackup: [Backup?] = []
     var didSetUD: [UserDiscovery?] = []
     var didSetE2E: [E2E?] = []
     var didSetCMix: [CMix?] = []
@@ -102,6 +116,8 @@ final class MessengerDestroyTests: XCTestCase {
 
     var env: MessengerEnvironment = .unimplemented
     env.cMix.get = { nil }
+    env.fileTransfer.set = { didSetFileTransfer.append($0) }
+    env.backup.set = { didSetBackup.append($0) }
     env.ud.set = { didSetUD.append($0) }
     env.e2e.set = { didSetE2E.append($0) }
     env.cMix.set = { didSetCMix.append($0) }
@@ -114,6 +130,8 @@ final class MessengerDestroyTests: XCTestCase {
     XCTAssertThrowsError(try destroy()) { err in
       XCTAssertEqual(err as? Error, error)
     }
+    XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true])
+    XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
     XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])