diff --git a/app/views/gardens/show.html.haml b/app/views/gardens/show.html.haml
index d6b0df377..b471170e7 100644
--- a/app/views/gardens/show.html.haml
+++ b/app/views/gardens/show.html.haml
@@ -2,10 +2,7 @@
.row
.span3
- =image_tag('http://placehold.it/150x150', :alt => '', :class => 'img-rounded')
- %h4
- Owner:
- =link_to @garden.owner, url_for(member_path(@garden.owner))
+ = render :partial => "shared/avatar", :locals => { :member => @garden.owner }
%h4= "#{@garden.owner}'s gardens"
%ul
diff --git a/app/views/members/_gravatar.html.haml b/app/views/members/_gravatar.html.haml
deleted file mode 100644
index 558e5cbdd..000000000
--- a/app/views/members/_gravatar.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-=image_tag(Gravatar.new(email).image_url( options = { :size => defined?(size) ? size : 150, :default => :identicon }), :alt => '', :class => 'img-rounded' )
-
diff --git a/app/views/members/index.html.haml b/app/views/members/index.html.haml
index 7389a63b0..5bdb8121b 100644
--- a/app/views/members/index.html.haml
+++ b/app/views/members/index.html.haml
@@ -7,5 +7,4 @@
- @members.each do |m|
%li.span2
.thumbnail(style="height: 190px")
- = render :partial => "gravatar", :locals => { :email => m.email }
- = link_to shorten(m.username, 30), member_path(m)
+ = render :partial => "shared/avatar", :locals => { :member => m, :truncate => true }
diff --git a/app/views/members/show.html.haml b/app/views/members/show.html.haml
index 02c54760e..840ff396f 100644
--- a/app/views/members/show.html.haml
+++ b/app/views/members/show.html.haml
@@ -4,8 +4,7 @@
.row
.span3
- = render :partial => "gravatar", :locals => { :email => @member.email }
- %h4= @member.username
+ = render :partial => "shared/avatar", :locals => { :member => @member }
%p
= "Member since: #{@member.created_at.strftime("%B %d, %Y")}."
diff --git a/app/views/shared/_avatar.html.haml b/app/views/shared/_avatar.html.haml
new file mode 100644
index 000000000..2826681ff
--- /dev/null
+++ b/app/views/shared/_avatar.html.haml
@@ -0,0 +1,4 @@
+- truncate ||= false
+=image_tag(Gravatar.new(member.email).image_url( options = { :size => defined?(size) ? size : 150, :default => :identicon }), :alt => '', :class => 'img-rounded' )
+%h4= link_to(truncate ? shorten(member.to_s, 30) : member, member_path(member))
+
diff --git a/app/views/updates/_single.html.haml b/app/views/updates/_single.html.haml
index a4717e14d..518c98e5e 100644
--- a/app/views/updates/_single.html.haml
+++ b/app/views/updates/_single.html.haml
@@ -2,7 +2,7 @@
.update
.row
.span1
- = render :partial => "members/gravatar", :locals => { :email => update.user.email }
+ = render :partial => "shared/avatar", :locals => { :member => update.user }
.span7
- if subject
%h3= link_to strip_tags(update.subject), update