diff --git a/app/helpers/posts_helper.rb b/app/helpers/posts_helper.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9cc4f6897055d801b40058b4b00197d86ac68073
--- /dev/null
+++ b/app/helpers/posts_helper.rb
@@ -0,0 +1,19 @@
+#   Copyright (c) 2012, Diaspora Inc.  This file is
+#   licensed under the Affero General Public License version 3 or later.  See
+#   the COPYRIGHT file.
+
+module PostsHelper
+  def post_page_title(post)
+    if post.is_a?(Photo)
+      I18n.t "posts.show.photos_by", :count => 1, :author => post.status_message.author.name
+    elsif post.is_a?(Reshare)
+      I18n.t "posts.show.reshare_by", :author => post.author.name
+    else
+      if post.text.present?
+        truncate(post.text(:plain_text => true), :length => 20)
+      elsif post.photos.present?
+        I18n.t "posts.show.photos_by", :count => post.photos.size, :author => post.author.name
+      end
+    end
+  end
+end
diff --git a/app/views/posts/show.html.haml b/app/views/posts/show.html.haml
index 9ecf343dc68814edc1b85b97a1940ccd38ce324d..d230c583c4c2fb90de94f691af9ce4d3f0909430 100644
--- a/app/views/posts/show.html.haml
+++ b/app/views/posts/show.html.haml
@@ -2,6 +2,9 @@
 -#   licensed under the Affero General Public License version 3 or later.  See
 -#   the COPYRIGHT file.
 
+- content_for :page_title do
+  = post_page_title @post
+
 .span-20.append-2.prepend-2.last
 
   #main_stream.stream.status_message_show
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 453483b00023e46f62ffb9bfdb946bea33492fe9..e76e82401f6dc82ee2a371e27881d20a1d47616c 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -614,6 +614,14 @@ en:
       destroy: "Delete"
       permalink: "permalink"
       not_found: "Sorry, we couldn't find that post."
+      photos_by:
+        zero: "No photos by %{author}"
+        one: "One photo by %{author}"
+        two: "Two photos by %{author}"
+        few: "%{count} photos by %{author}"
+        many: "%{count} photos by %{author}"
+        other: "%{count} photos by %{author}"
+      reshare_by: "Reshare by %{author}"
 
   share_visibilites:
     update: