diff --git a/Sources/XXClient/Callbacks/MessageDeliveryCallback.swift b/Sources/XXClient/Callbacks/MessageDeliveryCallback.swift
index 429a5bfe3b6fd8c63c6c7f5731448ee75c9e1d69..4170f8585120ba6007d604b23fa4040fdff37c4e 100644
--- a/Sources/XXClient/Callbacks/MessageDeliveryCallback.swift
+++ b/Sources/XXClient/Callbacks/MessageDeliveryCallback.swift
@@ -30,12 +30,15 @@ extension MessageDeliveryCallback {
       let callback: MessageDeliveryCallback
 
       func eventCallback(_ delivered: Bool, timedOut: Bool, roundResults: Data?) {
-        if delivered,
-           !timedOut,
-           let roundResultsData = roundResults,
-           let roundResults = try? JSONDecoder().decode([Int].self, from: roundResultsData)
-        {
-          callback.handle(.delivered(roundResults: roundResults))
+        if delivered && !timedOut {
+          let roundResultsArray: [Int]
+          if let data = roundResults,
+             let array = try? JSONDecoder().decode([Int].self, from: data) {
+            roundResultsArray = array
+          } else {
+            roundResultsArray = []
+          }
+          callback.handle(.delivered(roundResults: roundResultsArray))
           return
         }
 
@@ -48,7 +51,7 @@ extension MessageDeliveryCallback {
           BindingsMessageDeliveryCallback received invalid parameters:
           - delivered → \(delivered)
           - timedOut → \(timedOut)
-          - roundResults → \(roundResults.map { String(data: $0, encoding: .utf8) ?? "" } ?? "")
+          - roundResults → \(roundResults.map { String(data: $0, encoding: .utf8) ?? "\($0)" } ?? "nil")
           """)
       }
     }