diff --git a/app/views/projects/commits/_image.html.haml b/app/views/projects/commits/_image.html.haml
index db02fa333b93779587b9414e406df83f10a6c902..73f87289d3db1486de190791dbb764709fd09d21 100644
--- a/app/views/projects/commits/_image.html.haml
+++ b/app/views/projects/commits/_image.html.haml
@@ -9,7 +9,7 @@
     %div.two-up.view
       %span.wrap
         .frame.deleted
-          %a{href: project_tree_path(@project, tree_join(@commit.id, diff.old_path))}
+          %a{href: project_blob_path(@project, tree_join(@commit.parent_id, diff.old_path))}
             %img{src: "data:#{old_file.mime_type};base64,#{Base64.encode64(old_file.data)}"}
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size old_file.size}"
@@ -21,7 +21,7 @@
           %span.meta-height
       %span.wrap
         .frame.added
-          %a{href: project_tree_path(@project, tree_join(@commit.id, diff.new_path))}
+          %a{href: project_blob_path(@project, tree_join(@commit.id, diff.new_path))}
             %img{src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size file.size}"
diff --git a/features/project/commits/commits.feature b/features/project/commits/commits.feature
index d962471ebdb759a52d089344f7d6aa598e6bec01..fe470f5ac99d52b142dd820e97a3ac30c0a3b78c 100644
--- a/features/project/commits/commits.feature
+++ b/features/project/commits/commits.feature
@@ -35,3 +35,7 @@ Feature: Project Browse commits
   Scenario: I browse huge commit
     Given I visit huge commit page
     Then I see huge commit message
+
+  Scenario: I browse a commit with an image
+    Given I visit a commit with an image that changed
+    Then The diff links to both the previous and current image
diff --git a/features/steps/project/project_browse_commits.rb b/features/steps/project/project_browse_commits.rb
index 4b122b853e67c9d195bbfb9b0cce8e70c08ddea5..650bc3a16f7ad1363443da3f63aabd409bead6ee 100644
--- a/features/steps/project/project_browse_commits.rb
+++ b/features/steps/project/project_browse_commits.rb
@@ -78,4 +78,14 @@ class ProjectBrowseCommits < Spinach::FeatureSteps
     page.should have_content "Warning! This is a large diff"
     page.should_not have_content "If you still want to see the diff"
   end
+
+  Given 'I visit a commit with an image that changed' do
+    visit project_commit_path(@project, 'cc1ba255d6c5ffdce87a357ba7ccc397a4f4026b')
+  end
+
+  Then 'The diff links to both the previous and current image' do
+    links = page.all('.two-up span div a')
+    links[0]['href'].should =~ %r{blob/bc3735004cb45cec5e0e4fa92710897a910a5957}
+    links[1]['href'].should =~ %r{blob/cc1ba255d6c5ffdce87a357ba7ccc397a4f4026b}
+  end
 end