diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb
index 3dbdaf74fb..12e05b9796 100644
--- a/app/lib/activitypub/activity/create.rb
+++ b/app/lib/activitypub/activity/create.rb
@@ -473,9 +473,8 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
   end
 
   def process_references!
-    references = []
-    references = ActivityPub::FetchReferencesService(@json['references']) unless @json['references'].nil?
-    ProcessReferencesWorker.perform_async(@status.id, [], urls: references)
+    ActivityPub::FetchReferencesService(@json['references']) unless @json['references'].nil?
+    ProcessReferencesWorker.perform_async(@status.id, [], [])
   end
 
   def join_group!
diff --git a/app/models/status_stat.rb b/app/models/status_stat.rb
index d2a29170a8..dbbc95948b 100644
--- a/app/models/status_stat.rb
+++ b/app/models/status_stat.rb
@@ -48,7 +48,7 @@ class StatusStat < ApplicationRecord
   end
 
   def status_referred_by_count
-    [attributes['status_referred_by_count'], 0].max
+    [attributes['status_referred_by_count'] || 0, 0].max
   end
 
   private
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb
index e1d5ab2471..2c488e6f5e 100644
--- a/app/services/post_status_service.rb
+++ b/app/services/post_status_service.rb
@@ -148,7 +148,7 @@ class PostStatusService < BaseService
 
   def postprocess_status!
     process_hashtags_service.call(@status)
-    ProcessReferencesWorker.perform_async(@status.id, @reference_ids)
+    ProcessReferencesWorker.perform_async(@status.id, @reference_ids, [])
     Trends.tags.register(@status)
     LinkCrawlWorker.perform_async(@status.id)
     DistributionWorker.perform_async(@status.id)
diff --git a/app/services/process_references_service.rb b/app/services/process_references_service.rb
index f61129eb4c..194a65484e 100644
--- a/app/services/process_references_service.rb
+++ b/app/services/process_references_service.rb
@@ -44,7 +44,7 @@ class ProcessReferencesService < BaseService
   end
 
   def scan_text!
-    text = @status.text.gsub(%r{</?[^>]*>}, '')
+    text = @status.text.gsub('\u003c', '<').gsub('\u003e', '>').gsub(%r{</?[^>]*>}, '')
     @scan_text = fetch_statuses!(text.scan(REFURL_EXP).pluck(3).uniq).map(&:id).uniq.filter { |status_id| !status_id.zero? }
   end
 
diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb
index ec39059d3f..fb94dd7b17 100644
--- a/app/services/update_status_service.rb
+++ b/app/services/update_status_service.rb
@@ -142,7 +142,7 @@ class UpdateStatusService < BaseService
   def update_metadata!
     ProcessHashtagsService.new.call(@status)
     ProcessMentionsService.new.call(@status)
-    ProcessReferencesWorker.perform_async(@status.id, (@options[:status_reference_ids] || []).map(&:to_i).filter(&:positive?))
+    ProcessReferencesWorker.perform_async(@status.id, (@options[:status_reference_ids] || []).map(&:to_i).filter(&:positive?), [])
   end
 
   def broadcast_updates!
diff --git a/app/workers/process_references_worker.rb b/app/workers/process_references_worker.rb
index edae2c6163..7d59d964c9 100644
--- a/app/workers/process_references_worker.rb
+++ b/app/workers/process_references_worker.rb
@@ -3,8 +3,8 @@
 class ProcessReferencesWorker
   include Sidekiq::Worker
 
-  def perform(status_id, ids, urls: nil)
-    ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls)
+  def perform(status_id, ids, urls)
+    ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls || [])
   rescue ActiveRecord::RecordNotFound
     true
   end