diff --git a/gajim/common/preview.py b/gajim/common/preview.py
index 710d30d7f27683d1007e5c3fdd26a4ec00904995..03f89d91f958b65775e8f9d0326fb8ca98a388f2 100644
--- a/gajim/common/preview.py
+++ b/gajim/common/preview.py
@@ -61,12 +61,14 @@ def __init__(self,
                  thumb_path: Optional[Path],
                  size: int,
                  widget: Any,
+                 from_us: bool = False,
                  context: Optional[str] = None
                  ) -> None:
         self._uri = uri
         self._urlparts = urlparts
         self._filename = filename_from_uri(uri)
         self._widget = widget
+        self._from_us = from_us
         self._context = context
 
         self.account = widget.account
@@ -109,6 +111,10 @@ def is_audio(self) -> bool:
     def uri(self) -> str:
         return self._uri
 
+    @property
+    def from_us(self) -> bool:
+        return self._from_us
+
     @property
     def context(self) -> Optional[str]:
         return self._context
@@ -275,7 +281,7 @@ def is_previewable(self,
     def create_preview(self,
                        uri: str,
                        widget: Any,
-                       is_self: bool,
+                       from_us: bool,
                        context: Optional[str] = None
                        ) -> None:
         if uri.startswith('geo:'):
@@ -283,10 +289,10 @@ def create_preview(self,
             preview.update_widget()
             return
 
-        preview = self._process_web_uri(uri, widget, context)
+        preview = self._process_web_uri(uri, widget, from_us, context)
 
         if not preview.orig_exists():
-            if context is not None and not is_self:
+            if context is not None and not from_us:
                 allow_in_public = app.settings.get('preview_anonymous_muc')
                 if context == 'public' and not allow_in_public:
                     preview.update_widget()
@@ -307,6 +313,7 @@ def create_preview(self,
     def _process_web_uri(self,
                          uri: str,
                          widget: Any,
+                         from_us: bool,
                          context: Optional[str] = None
                          ) -> Preview:
         urlparts = urlparse(uri)
@@ -322,6 +329,7 @@ def _process_web_uri(self,
                        thumb_path,
                        size,
                        widget,
+                       from_us,
                        context=context)
 
     def _on_orig_load_finished(self,
diff --git a/gajim/gtk/conversation/rows/base.py b/gajim/gtk/conversation/rows/base.py
index 493497b32ef2199861e54db766d4eb1ce3d079e8..4f5f5b11222c36902004e59d61863e9031820ea0 100644
--- a/gajim/gtk/conversation/rows/base.py
+++ b/gajim/gtk/conversation/rows/base.py
@@ -78,7 +78,7 @@ def create_timestamp_widget(timestamp: datetime) -> Gtk.Label:
         return label
 
     @staticmethod
-    def create_name_widget(name: str, is_self: bool) -> Gtk.Label:
+    def create_name_widget(name: str, from_us: bool) -> Gtk.Label:
         label = Gtk.Label()
         label.set_selectable(True)
         label.set_ellipsize(Pango.EllipsizeMode.END)
@@ -86,7 +86,7 @@ def create_name_widget(name: str, is_self: bool) -> Gtk.Label:
         label.get_style_context().add_class('conversation-nickname')
         label.set_markup(GLib.markup_escape_text(name))
 
-        if is_self:
+        if from_us:
             label.get_style_context().add_class('gajim-outgoing-nickname')
         else:
             label.get_style_context().add_class('gajim-incoming-nickname')
diff --git a/gajim/gtk/conversation/rows/message.py b/gajim/gtk/conversation/rows/message.py
index c54f685887920639a2f899991a1e8035a7ba2ba8..f2bbb03fc5456b9c6fcb6eceaab78cb5406667a2 100644
--- a/gajim/gtk/conversation/rows/message.py
+++ b/gajim/gtk/conversation/rows/message.py
@@ -118,9 +118,9 @@ def __init__(self,
 
         if self._is_groupchat:
             our_nick = get_group_chat_nick(self._account, self._contact.jid)
-            is_self = name == our_nick
+            from_us = name == our_nick
         else:
-            is_self = kind == 'outgoing'
+            from_us = kind == 'outgoing'
 
         is_previewable = False
         if additional_data is not None:
@@ -132,7 +132,7 @@ def __init__(self,
                 context = get_muc_context(self._contact.jid)
             self._message_widget = PreviewWidget(account)
             app.preview_manager.create_preview(
-                text, self._message_widget, is_self, context)
+                text, self._message_widget, from_us, context)
         else:
             self._message_widget = MessageWidget(account)
             self._message_widget.add_with_styling(text, nickname=name)
@@ -145,7 +145,7 @@ def __init__(self,
         if self._contact.jid == self._client.get_own_jid().bare:
             name = _('Me')
 
-        name_widget = self.create_name_widget(name, is_self)
+        name_widget = self.create_name_widget(name, from_us)
 
         self._meta_box = Gtk.Box(spacing=6)
         self._meta_box.set_hexpand(True)
diff --git a/gajim/gtk/preview.py b/gajim/gtk/preview.py
index 27ca627bd951024ae997e15c093c6ee431a70d4d..00d0bba3fd959b340f1b78c0b2b92b290f4a8da5 100644
--- a/gajim/gtk/preview.py
+++ b/gajim/gtk/preview.py
@@ -168,7 +168,8 @@ def update(self, preview: Preview, data: Optional[GdkPixbufType]) -> None:
             self._ui.save_as_button.hide()
             self._ui.open_folder_button.hide()
             allow_in_public = app.settings.get('preview_anonymous_muc')
-            if preview.context == 'public' and not allow_in_public:
+            if (preview.context == 'public' and not
+                    allow_in_public and not preview.from_us):
                 image = Gtk.Image.new_from_icon_name(
                     'dialog-question', Gtk.IconSize.DIALOG)
                 self._ui.icon_button.set_image(image)