diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
index 50662b9fb096c060791e5544861821131b96de3b..27ecc2506da1a1b61060fcf20cc22b71798cd470 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/CallService.kt
@@ -513,6 +513,10 @@ abstract class CallService(
         try {
             synchronized(calls) {
                 parseCallState(accountId, callId, newState, callDetails)?.let { call ->
+                    if (newState == "INCOMING") {
+                        Log.d(TAG, "call state changed: ignoring ringing call, waiting for signal")
+                        return
+                    }
                     callSubject.onNext(call)
                     if (call.callStatus === CallStatus.OVER) {
                         calls.remove(call.daemonIdString)