diff --git a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java
index 9861ef9010d432b56eab7c3faf0c908c0cc6af65..649ca69c55556c9819c993006318b64331bbc8f1 100644
--- a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java
+++ b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java
@@ -744,7 +744,7 @@ public class NotificationServiceImpl implements NotificationService {
             return;
         }
         InteractionStatus event = info.getStatus();
-        if (event == null) {
+        if (event == null || event == InteractionStatus.FILE_AVAILABLE) {
             return;
         }
         android.net.Uri path = ConversationPath.toUri(conversation);
diff --git a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
index bf4812873b6032209ea28c28ff1428a372b955ef..fdcd012ab6ced1e600bdbbcfc14c80fe64a5130c 100644
--- a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
+++ b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java
@@ -590,7 +590,8 @@ public class ConversationFacade {
 
     private void handleDataTransferEvent(DataTransfer transfer) {
         Conversation conversation = mAccountService.getAccount(transfer.getAccount()).onDataTransferEvent(transfer);
-        if (transfer.getStatus() == Interaction.InteractionStatus.TRANSFER_CREATED && !transfer.isOutgoing()) {
+        Interaction.InteractionStatus status = transfer.getStatus();
+        if ((status == Interaction.InteractionStatus.TRANSFER_CREATED || status == Interaction.InteractionStatus.FILE_AVAILABLE) && !transfer.isOutgoing()) {
             if (transfer.canAutoAccept(mPreferencesService.getMaxFileAutoAccept(transfer.getAccount()))) {
                 mAccountService.acceptFileTransfer(conversation, transfer.getFileId(), transfer);
                 return;
diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java b/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java
index d7f2c02dcf8be19206c25a150a979d389dcd487d..ddfa85cd52c8cdda0851efba4048e818960c483d 100644
--- a/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java
+++ b/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java
@@ -66,9 +66,9 @@ public class Interaction {
     String mExtraFlag = new JsonObject().toString();
 
     // Swarm
-    private String mConversationId;
-    private String mMessageId;
-    private List<String> mParentIds;
+    private String mConversationId = null;
+    private String mMessageId = null;
+    private List<String> mParentIds = null;
 
     /* Needed by ORMLite */
     public Interaction() {
diff --git a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java
index 15bae636b9cf5f1ed75da16f36c0a8c848656b84..e1217c961f3beb1f4730762b4239887d962df290 100644
--- a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java
+++ b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java
@@ -1553,6 +1553,7 @@ public class AccountService {
         }
         interaction.setContact(contact);
         interaction.setSwarmInfo(conversation.getUri().getRawRingId(), id, parents);
+        interaction.setConversation(conversation);
         if (conversation.addSwarmElement(interaction)) {
             if (conversation.isVisible())
                 mHistoryService.setMessageRead(account.getAccountID(), conversation.getUri(), interaction.getMessageId());
@@ -1670,6 +1671,8 @@ public class AccountService {
             boolean isIncoming = !interaction.getContact().isUser();
             if (isIncoming) {
                 incomingSwarmMessageSubject.onNext(interaction);
+                if (interaction instanceof DataTransfer)
+                    dataTransferSubject.onNext((DataTransfer)interaction);
             }
         }
     }