diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupUpdateJob.java
index a0594a0010..23b3f07a93 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupUpdateJob.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupUpdateJob.java
@@ -127,7 +127,7 @@ public class PushGroupUpdateJob extends BaseJob implements InjectableType {
 
     messageSender.sendMessage(0, new SignalServiceAddress(source),
                               UnidentifiedAccessUtil.getAccessFor(context, Recipient.from(context, Address.Companion.fromSerialized(source), false)),
-                              message);
+                              message, false);
   }
 
   @Override
diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java
index e9d729f29e..46bdbb5a1d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushMediaSendJob.java
@@ -287,14 +287,14 @@ public class PushMediaSendJob extends PushSendJob implements InjectableType {
 
       if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) {
         // Loki - Device link messages don't go through here
-        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage);
+        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage, true);
         if (result.getLokiAPIError() != null) {
           throw result.getLokiAPIError();
         } else {
           return result.getSuccess().isUnidentified();
         }
       } else {
-        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage);
+        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage, false);
         if (result.getLokiAPIError() != null) {
           throw result.getLokiAPIError();
         } else {
@@ -303,7 +303,7 @@ public class PushMediaSendJob extends PushSendJob implements InjectableType {
           try {
             // send to ourselves to sync multi-device
             Optional<UnidentifiedAccessPair> syncAccess  = UnidentifiedAccessUtil.getAccessForSync(context);
-            SendMessageResult selfSendResult = messageSender.sendMessage(messageId, localAddress, syncAccess, mediaSelfSendMessage);
+            SendMessageResult selfSendResult = messageSender.sendMessage(messageId, localAddress, syncAccess, mediaSelfSendMessage, true);
             if (selfSendResult.getLokiAPIError() != null) {
               throw selfSendResult.getLokiAPIError();
             }
diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushTextSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushTextSendJob.java
index abec311d1c..eb87722cd0 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushTextSendJob.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushTextSendJob.java
@@ -226,14 +226,14 @@ public class PushTextSendJob extends PushSendJob implements InjectableType {
 
       if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) {
         // Loki - Device link messages don't go through here
-        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage);
+        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage, true);
         if (result.getLokiAPIError() != null) {
           throw result.getLokiAPIError();
         } else {
           return result.getSuccess().isUnidentified();
         }
       } else {
-        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage);
+        SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage, false);
         if (result.getLokiAPIError() != null) {
           throw result.getLokiAPIError();
         } else {
@@ -242,7 +242,7 @@ public class PushTextSendJob extends PushSendJob implements InjectableType {
           try {
             // send to ourselves to sync multi-device
             Optional<UnidentifiedAccessPair> syncAccess  = UnidentifiedAccessUtil.getAccessForSync(context);
-            SendMessageResult selfSendResult = messageSender.sendMessage(messageId, localAddress, syncAccess, textSecureSelfSendMessage);
+            SendMessageResult selfSendResult = messageSender.sendMessage(messageId, localAddress, syncAccess, textSecureSelfSendMessage, true);
             if (selfSendResult.getLokiAPIError() != null) {
               throw selfSendResult.getLokiAPIError();
             }
diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java
index ed0e50be30..d1059c08dd 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java
@@ -83,7 +83,7 @@ public class RequestGroupInfoJob extends BaseJob implements InjectableType {
 
     messageSender.sendMessage(0, new SignalServiceAddress(source),
                               UnidentifiedAccessUtil.getAccessFor(context, Recipient.from(context, Address.Companion.fromExternal(context, source), false)),
-                              message);
+                              message, false);
   }
 
   @Override
diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
index 5e1923a5f8..ba2d6e17a9 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
@@ -35,7 +35,7 @@ object MultiDeviceProtocol {
         try {
             messageSender.sendMessage(0, address, udAccess.get().targetUnidentifiedAccess,
                     Date().time, serializedMessage, false, configurationMessage.ttl.toInt(), false,
-                    true, false, true, Optional.absent())
+                    true, false, false, Optional.absent())
             TextSecurePreferences.setLastConfigurationSyncTime(context, now)
         } catch (e: Exception) {
             Log.d("Loki", "Failed to send configuration message due to error: $e.")
@@ -54,7 +54,7 @@ object MultiDeviceProtocol {
         try {
             messageSender.sendMessage(0, address, udAccess.get().targetUnidentifiedAccess,
                     Date().time, serializedMessage, false, configurationMessage.ttl.toInt(), false,
-                    true, false, true, Optional.absent())
+                    true, false, false, Optional.absent())
         } catch (e: Exception) {
             Log.d("Loki", "Failed to send configuration message due to error: $e.")
         }
diff --git a/libsignal/src/main/java/org/session/libsignal/service/api/SignalServiceMessageSender.java b/libsignal/src/main/java/org/session/libsignal/service/api/SignalServiceMessageSender.java
index ab402c93ca..cba21a64d8 100644
--- a/libsignal/src/main/java/org/session/libsignal/service/api/SignalServiceMessageSender.java
+++ b/libsignal/src/main/java/org/session/libsignal/service/api/SignalServiceMessageSender.java
@@ -241,14 +241,15 @@ public class SignalServiceMessageSender {
   public SendMessageResult sendMessage(long                             messageID,
                                        SignalServiceAddress             recipient,
                                        Optional<UnidentifiedAccessPair> unidentifiedAccess,
-                                       SignalServiceDataMessage         message)
+                                       SignalServiceDataMessage         message,
+                                       boolean                          isSelfSend)
       throws IOException
   {
     byte[]            content               = createMessageContent(message, recipient);
     long              timestamp             = message.getTimestamp();
     boolean           useFallbackEncryption = SessionManagementProtocol.shared.shouldMessageUseFallbackEncryption(message, recipient.getNumber(), store);
     boolean           isClosedGroup         = message.group.isPresent() && message.group.get().getGroupType() == SignalServiceGroup.GroupType.SIGNAL;
-    SendMessageResult result                = sendMessage(messageID, recipient, getTargetUnidentifiedAccess(unidentifiedAccess), timestamp, content, false, message.getTTL(), message.getDeviceLink().isPresent(), useFallbackEncryption, isClosedGroup, message.hasVisibleContent(), message.getSyncTarget());
+    SendMessageResult result                = sendMessage(messageID, recipient, getTargetUnidentifiedAccess(unidentifiedAccess), timestamp, content, false, message.getTTL(), message.getDeviceLink().isPresent(), useFallbackEncryption, isClosedGroup, message.hasVisibleContent() && !isSelfSend, message.getSyncTarget());
 
 //    // Loki - This shouldn't get invoked for note to self
 //    boolean wouldSignalSendSyncMessage = (result.getSuccess() != null && result.getSuccess().isNeedsSync()) || unidentifiedAccess.isPresent();