diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java b/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
index 0d5bc00b93f7fc689f73e208d1b3123f13b76b77..a6b6e4332d2514c213c4742364dee24b88d711ef 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/AccountService.java
@@ -120,6 +120,7 @@ public class AccountService {
 
     public static class Message {
         String accountId;
+        String messageId;
         String callId;
         String author;
         Map<String, String> messages;
@@ -1234,10 +1235,11 @@ public class AccountService {
         accountSubject.onNext(account);
     }
 
-    void incomingAccountMessage(String accountId, String callId, String from, Map<String, String> messages) {
+    void incomingAccountMessage(String accountId, String messageId, String callId, String from, Map<String, String> messages) {
         Log.d(TAG, "incomingAccountMessage: " + accountId + " " + messages.size());
         Message message = new Message();
         message.accountId = accountId;
+        message.messageId = messageId;
         message.callId = callId;
         message.author = from;
         message.messages = messages;
diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/CallService.java b/ring-android/libringclient/src/main/java/cx/ring/services/CallService.java
index 9b18e923b4783faf5ebccc4008d9735b7adf047e..bfb3f53430e2dc960717364e81d43187cb5a7981 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/CallService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/CallService.java
@@ -504,7 +504,7 @@ public class CallService {
             mContactService.saveVCardContactData(sipCall.getContact(), sipCall.getAccount(), vcard);
         }
         if (messages.containsKey(MIME_TEXT_PLAIN)) {
-            mAccountService.incomingAccountMessage(sipCall.getAccount(), callId, from, messages);
+            mAccountService.incomingAccountMessage(sipCall.getAccount(), null, callId, from, messages);
         }
     }
 
diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/DaemonService.java b/ring-android/libringclient/src/main/java/cx/ring/services/DaemonService.java
index a9205cbada8bf4448e0710bd6ecf7771c3189c49..e45d552fa51194c5679ba4151b014fc3f833b292 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/DaemonService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/DaemonService.java
@@ -145,11 +145,11 @@ public class DaemonService {
         }
 
         @Override
-        public void incomingAccountMessage(String accountId, String from, StringMap messages) {
+        public void incomingAccountMessage(String accountId, String messageId, String from, StringMap messages) {
             if (messages == null || messages.isEmpty())
                 return;
             Map<String, String> jmessages = messages.toNativeFromUtf8();
-            mExecutor.submit(() -> mAccountService.incomingAccountMessage(accountId, null, from, jmessages));
+            mExecutor.submit(() -> mAccountService.incomingAccountMessage(accountId, messageId, null, from, jmessages));
         }
 
         @Override