diff --git a/Sources/XXClient/Callbacks/ReceiveFileCallback.swift b/Sources/XXClient/Callbacks/ReceiveFileCallback.swift
index 2c1d94be22e7a3a63a6590e985481c2f437ee777..ea6a0002d40a11760f68256ef84f2c62a6f341b2 100644
--- a/Sources/XXClient/Callbacks/ReceiveFileCallback.swift
+++ b/Sources/XXClient/Callbacks/ReceiveFileCallback.swift
@@ -26,18 +26,15 @@ extension ReceiveFileCallback {
 
       let callback: ReceiveFileCallback
 
-      func callback(_ payload: Data?, err: Error?) {
-        if let error = err {
-          callback.handle(.failure(error as NSError))
-        } else if let data = payload {
-          do {
-            callback.handle(.success(try ReceivedFile.decode(data)))
-          } catch {
-            callback.handle(.failure(error as NSError))
-          }
-        } else {
+      func callback(_ payload: Data?) {
+        guard let data = payload else {
           fatalError("BindingsReceiveFileCallback received `nil` payload and `nil` error")
         }
+        do {
+          callback.handle(.success(try ReceivedFile.decode(data)))
+        } catch {
+          callback.handle(.failure(error as NSError))
+        }
       }
     }