diff --git a/telethon/events/newmessage.py b/telethon/events/newmessage.py
index <HASH>..<HASH> 100644
--- a/telethon/events/newmessage.py
+++ b/telethon/events/newmessage.py
@@ -137,12 +137,6 @@ class NewMessage(EventBuilder):
         else:
             return
 
-        # Make messages sent to ourselves outgoing unless they're forwarded.
-        # This makes it consistent with official client's appearance.
-        ori = event.message
-        if ori.peer_id == types.PeerUser(self_id) and not ori.fwd_from:
-            event.message.out = True
-
         return event
 
     def filter(self, event):
diff --git a/telethon/tl/custom/message.py b/telethon/tl/custom/message.py
index <HASH>..<HASH> 100644
--- a/telethon/tl/custom/message.py
+++ b/telethon/tl/custom/message.py
@@ -269,6 +269,12 @@ class Message(ChatGetter, SenderGetter, TLObject):
         known entities.
         """
         self._client = client
+
+        # Make messages sent to ourselves outgoing unless they're forwarded.
+        # This makes it consistent with official client's appearance.
+        if self.peer_id == types.PeerUser(client._self_id) and not self.fwd_from:
+            self.out = True
+
         cache = client._entity_cache
 
         self._sender, self._input_sender = utils._get_entity_pair(
Move message.out patching in self-chat to Message

May fix #<I>.