diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb
index 35249586eef27aba6f6ad25f23ac831aa869cefb..76387c56dc77abe454c6ab6076cc27dd1a0f9d75 100644
--- a/app/mailers/notifier.rb
+++ b/app/mailers/notifier.rb
@@ -74,7 +74,7 @@ class Notifier < ActionMailer::Base
     I18n.with_locale(@receiver.language) do
       mail(:from => "\"#{@sender.name} (Diaspora)\" <#{AppConfig[:smtp_sender_address]}>",
            :to => "\"#{@receiver.name}\" <#{@receiver.email}>",
-           :subject => "Re: #{post_message(@comment.parent, :length => TRUNCATION_LEN)}")
+           :subject => "Re: #{comment_email_subject}")
     end
   end
 
@@ -89,13 +89,16 @@ class Notifier < ActionMailer::Base
     log_mail(recipient_id, sender_id, 'comment_on_post')
 
     I18n.with_locale(@receiver.language) do
-      subject_message = post_message(@comment.parent, :length => TRUNCATION_LEN)
       mail(:from => "\"#{@sender.name} (Diaspora)\" <#{AppConfig[:smtp_sender_address]}>",
            :to => "\"#{@receiver.name}\" <#{@receiver.email}>",
-           :subject => "Re: #{subject_message}")
+           :subject => "Re: #{comment_email_subject}")
     end
   end
 
+  def comment_email_subject
+    truncate(@comment.parent.comment_email_subject, :length => TRUNCATION_LEN)
+  end
+
   def private_message(recipient_id, sender_id, message_id)
     @receiver = User.find_by_id(recipient_id)
     @sender   = Person.find_by_id(sender_id)
diff --git a/app/models/activity_streams/photo.rb b/app/models/activity_streams/photo.rb
index c45cbbfdba0dc165f52a1ba8aa5bbec2a18adb35..1d67dc9575f06cd5871085448d43861c9bfd86d1 100644
--- a/app/models/activity_streams/photo.rb
+++ b/app/models/activity_streams/photo.rb
@@ -53,5 +53,9 @@ class ActivityStreams::Photo < Post
   # A better solution is needed.
   # @return [Boolean] true
   def activity_streams?; true; end
+
+  def comment_email_subject
+    I18n.t("photos.comment_email_subject", :name => author.name)
+  end
 end
 
diff --git a/app/models/post.rb b/app/models/post.rb
index 1141f2fa0186941d0d5813205b04e8cfbf3c00d8..b6d8b08cba9db7f311a7d3f5a4b9f3f30f6cd439 100644
--- a/app/models/post.rb
+++ b/app/models/post.rb
@@ -117,6 +117,10 @@ class Post < ActiveRecord::Base
     false
   end
 
+  def comment_email_subject
+    I18n.t('notifier.a_post_you_shared')
+  end
+
   # @return [Array<Comment>]
   def last_three_comments
     self.comments.order('created_at DESC').limit(3).includes(:author => :profile).reverse
diff --git a/app/models/reshare.rb b/app/models/reshare.rb
index f235697911c1a2494754cc918a4a2f3bc9f86f29..f82769a3c2833295bdf156e7309e934344d55528 100644
--- a/app/models/reshare.rb
+++ b/app/models/reshare.rb
@@ -31,6 +31,9 @@ class Reshare < Post
     end
   end
 
+  def comment_email_subject
+    I18n.t('reshares.comment_email_subject', :resharer => author.name, :author => root.author.name)
+  end
   private
 
   def after_parse
diff --git a/app/models/status_message.rb b/app/models/status_message.rb
index 58ed733bb6de41a2a49fba2c0a966914d3243e08..c0838623420d62a7fa5c214e54f2c5c83e3989ad 100644
--- a/app/models/status_message.rb
+++ b/app/models/status_message.rb
@@ -132,6 +132,10 @@ class StatusMessage < Post
     end
   end
 
+  def comment_email_subject
+    formatted_message(:plain_text => true)
+  end
+
   protected
 
   def message_or_photos_present?
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 453c80f759cbf8ae26c72204a2f41b3d5a6d9800..d934e2d9393e01e42eb54fb26c301bae23bb5999 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -533,6 +533,7 @@ en:
     new_profile_photo:
       upload: "Upload a new profile photo!"
       or_select_one: "or select one from your already existing"
+    comment_email_subject: "%{name}'s photo"
 
   posts:
     show:
@@ -621,6 +622,7 @@ en:
       deleted: "Original post deleted by author."
     create:
       failure: "There was an error resharing this post."
+    comment_email_subject: "%{resharer}'s reshare of %{author}'s post"
   services:
     index:
       logged_in_as: "logged in as"