diff --git a/app/controllers/projects/blame_controller.rb b/app/controllers/projects/blame_controller.rb
index f22c6497cbf218544869d587abf3c9c75219440c..a3c41301676500b053e95472513f99264691b902 100644
--- a/app/controllers/projects/blame_controller.rb
+++ b/app/controllers/projects/blame_controller.rb
@@ -8,7 +8,7 @@ class Projects::BlameController < Projects::ApplicationController
   before_filter :require_non_empty_project
 
   def show
-    @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path)
+    @blob = @repository.blob_at(@commit.id, @path)
     @blame = Gitlab::Git::Blame.new(project.repository, @commit.id, @path)
   end
 end
diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb
index 878f25c7c03da2532bb960722ba9c8b777fdb9b6..ba466251b29db862d5b3220f5338d4bf9e0f2b93 100644
--- a/app/controllers/projects/blob_controller.rb
+++ b/app/controllers/projects/blob_controller.rb
@@ -8,7 +8,7 @@ class Projects::BlobController < Projects::ApplicationController
   before_filter :require_non_empty_project
 
   def show
-    @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path)
+    @blob = @repository.blob_at(@commit.id, @path)
 
     not_found! unless @blob
   end
diff --git a/app/controllers/projects/edit_tree_controller.rb b/app/controllers/projects/edit_tree_controller.rb
index edea80a5ccc9668f2f232b36013fe2964a9f30fc..5d05c585ecc635d24959be93364e40fb879994e7 100644
--- a/app/controllers/projects/edit_tree_controller.rb
+++ b/app/controllers/projects/edit_tree_controller.rb
@@ -10,7 +10,7 @@ class Projects::EditTreeController < Projects::ApplicationController
   before_filter :edit_requirements, only: [:show, :update]
 
   def show
-    @last_commit = Gitlab::Git::Commit.last_for_path(@project.repository, @ref, @path).sha
+    @last_commit = Gitlab::Git::Commit.last_for_path(@repository, @ref, @path).sha
   end
 
   def update
@@ -32,7 +32,7 @@ def update
   private
 
   def edit_requirements
-    @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path)
+    @blob = @repository.blob_at(@commit.id, @path)
 
     unless @blob
       redirect_to project_blob_path(@project, @id), notice: "You can only edit text files"
diff --git a/app/controllers/projects/raw_controller.rb b/app/controllers/projects/raw_controller.rb
index 8633b225b64d4fb251e78a3d67e3ad9b4d4b9732..18ace028b0c8dc9c5de9576b7e5e0833632d6ebc 100644
--- a/app/controllers/projects/raw_controller.rb
+++ b/app/controllers/projects/raw_controller.rb
@@ -8,7 +8,7 @@ class Projects::RawController < Projects::ApplicationController
   before_filter :require_non_empty_project
 
   def show
-    @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path)
+    @blob = @repository.blob_at(@commit.id, @path)
 
     if @blob
       type = if @blob.mime_type =~ /html|javascript/
diff --git a/app/helpers/blobs_helper.rb b/app/helpers/blobs_helper.rb
deleted file mode 100644
index 26605d810266f4b16e861c26869aad00026c8b44..0000000000000000000000000000000000000000
--- a/app/helpers/blobs_helper.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-module BlobsHelper
-  def find_blob(repository, sha, path)
-    Gitlab::Git::Blob.find(repository, sha, path)
-  end
-end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 145bd51ffd378f00a17e83031407882e3098f522..97b4330092a4cde7cbef289640c6682ccb97b569 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -155,4 +155,8 @@ def respond_to?(method)
 
     super
   end
+
+  def blob_at(sha, path)
+    Gitlab::Git::Blob.find(self, sha, path)
+  end
 end
diff --git a/app/views/projects/commits/_diffs.html.haml b/app/views/projects/commits/_diffs.html.haml
index f60c4661100ab8c4d5ad8121ab75f371fabe5c64..2e61b9ece19b77e66725f32e122430b96f3873a5 100644
--- a/app/views/projects/commits/_diffs.html.haml
+++ b/app/views/projects/commits/_diffs.html.haml
@@ -37,8 +37,8 @@
   - unless @suppress_diff
     - diffs.each_with_index do |diff, i|
       - next if diff.diff.empty?
-      - file = find_blob(project.repository, @commit.id, diff.new_path)
-      - file = find_blob(project.repository, @commit.parent_id, diff.old_path) unless file
+      - file = project.repository.blob_at(@commit.id, diff.new_path)
+      - file = project.repository.blob_at(@commit.parent_id, diff.old_path) unless file
       - next unless file
       .file{id: "diff-#{i}"}
         .header
@@ -64,7 +64,7 @@
           - if file.text?
             = render "projects/commits/text_file", diff: diff, index: i
           - elsif file.image?
-            - old_file = find_blob(project.repository, @commit.parent_id, diff.old_path) if @commit.parent_id
+            - old_file = project.repository.blob_at(@commit.parent_id, diff.old_path) if @commit.parent_id
             = render "projects/commits/image", diff: diff, old_file: old_file, file: file, index: i
           - else
             %p.nothing_here_message No preview for this file type