diff --git a/app/models/favourite.rb b/app/models/favourite.rb
index 541ca08314..2fc3d18cde 100644
--- a/app/models/favourite.rb
+++ b/app/models/favourite.rb
@@ -28,4 +28,8 @@ class Favourite < ApplicationRecord
   def target
     thread
   end
+
+  before_validation do
+    self.status = status.reblog if status.reblog?
+  end
 end
diff --git a/app/models/status.rb b/app/models/status.rb
index e87828e328..76ada52275 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -160,6 +160,7 @@ class Status < ApplicationRecord
 
   before_validation do
     text.strip!
+    self.reblog = reblog.reblog if reblog? && reblog.reblog?
     self.in_reply_to_account_id = thread.account_id if reply?
   end
 end