diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb
index 5e12c035f460f1acfbed335a82b72e12585e1551..77b11a80df2b5a1bd6bd9727729ee8275547cc71 100644
--- a/app/services/fan_out_on_write_service.rb
+++ b/app/services/fan_out_on_write_service.rb
@@ -20,6 +20,11 @@ class FanOutOnWriteService < BaseService
 
     return if status.account.silenced? || !status.public_visibility?
 
+    if !status.reblog? && (!status.reply? || status.in_reply_to_account_id == status.account_id)
+      deliver_to_public(status)
+      deliver_to_media(status) if status.media_attachments.any?
+    end
+
     deliver_to_domain_subscribers(status)
 
     return if status.reblog?
@@ -28,11 +33,6 @@ class FanOutOnWriteService < BaseService
     deliver_to_hashtag_followers(status)
     deliver_to_subscribers(status)
     deliver_to_keyword_subscribers(status)
-
-    return if status.reply? && status.in_reply_to_account_id != status.account_id
-
-    deliver_to_public(status)
-    deliver_to_media(status) if status.media_attachments.any?
   end
 
   private