diff --git a/ring-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt b/ring-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
index b52b8756f62e08da53ad507d8bf039ea8cc3e249..a1d6b87c4fd01bc385f8f6f739425b631c9c172c 100644
--- a/ring-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
+++ b/ring-android/libjamiclient/src/main/kotlin/net/jami/services/AccountService.kt
@@ -266,7 +266,7 @@ class AccountService(
                 Log.w(TAG, "$accountId loading ${conversations.size} conversations: ")
                 for (conversationId in conversations) {
                     try {
-                        val info: Map<String, String> = JamiService.conversationInfos(accountId, conversationId)
+                        val info: Map<String, String> = JamiService.conversationInfos(accountId, conversationId).toNativeFromUtf8()
                         /*for (Map.Entry<String, String> i : info.entrySet()) {
                             Log.w(TAG, "conversation info: " + i.getKey() + " " + i.getValue());
                         }*/
@@ -301,7 +301,7 @@ class AccountService(
                     }
                 }
                 Log.w(TAG, "$accountId loading conversation requests")
-                for (requestData in JamiService.getConversationRequests(account.accountId)) {
+                for (requestData in JamiService.getConversationRequests(account.accountId).map { it.toNativeFromUtf8() }) {
                     try {
                         /* for ((key, value) in requestData.entries)
                         Log.e(TAG, "Request: $key $value") */
@@ -1291,7 +1291,7 @@ class AccountService(
     }
 
     fun conversationProfileUpdated(accountId: String, conversationId: String, info: StringMap) {
-        getAccount(accountId)?.getSwarm(conversationId)?.setProfile(mVCardService.loadConversationProfile(info))
+        getAccount(accountId)?.getSwarm(conversationId)?.setProfile(mVCardService.loadConversationProfile(info.toNativeFromUtf8()))
     }
 
     fun conversationPreferencesUpdated(accountId: String, conversationId: String, preferences: StringMap) {
@@ -1329,7 +1329,7 @@ class AccountService(
             Log.w(TAG, "conversationReady: can't find account")
             return
         }
-        val info = JamiService.conversationInfos(accountId, conversationId)
+        val info = JamiService.conversationInfos(accountId, conversationId).toNativeFromUtf8()
         /*for (Map.Entry<String, String> i : info.entrySet()) {
             Log.w(TAG, "conversation info: " + i.getKey() + " " + i.getValue());
         }*/
diff --git a/ring-android/libjamiclient/src/main/kotlin/net/jami/services/DaemonService.kt b/ring-android/libjamiclient/src/main/kotlin/net/jami/services/DaemonService.kt
index 64528e027c322ea66fbd2205cdc3f5446dda8e5e..652922ccdebddc3e7021b41e78d839061e085198 100644
--- a/ring-android/libjamiclient/src/main/kotlin/net/jami/services/DaemonService.kt
+++ b/ring-android/libjamiclient/src/main/kotlin/net/jami/services/DaemonService.kt
@@ -340,7 +340,7 @@ class DaemonService(
         }
 
         override fun conversationRequestReceived(accountId: String, conversationId: String, metadata: StringMap) {
-            mAccountService.conversationRequestReceived(accountId, conversationId, metadata.toNative())
+            mAccountService.conversationRequestReceived(accountId, conversationId, metadata.toNativeFromUtf8())
         }
 
         override fun conversationRequestDeclined(accountId: String, conversationId: String) {