diff --git a/config/routes.rb b/config/routes.rb
index 47c8a4122f5f0c2bcf3077b86237f8e23a965b06..88667db130ee08513a67fda082f22e4285c1134b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -166,12 +166,12 @@ Gitlab::Application.routes.draw do
       get "files"
     end
 
+    resources :blob,    only: [:show], constraints: {id: /.+/}
     resources :tree,    only: [:show, :edit, :update], constraints: {id: /.+/}
     resources :commit,  only: [:show], constraints: {id: /[[:alnum:]]{6,40}/}
     resources :commits, only: [:show], constraints: {id: /.+/}
     resources :compare, only: [:index, :create]
     resources :blame,   only: [:show], constraints: {id: /.+/}
-    resources :blob,    only: [:show], constraints: {id: /.+/}
     resources :graph,   only: [:show], constraints: {id: /.+/}
     match "/compare/:from...:to" => "compare#show", as: "compare",
                     :via => [:get, :post], constraints: {from: /.+/, to: /.+/}
diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb
index f94bedc79a1d1cb36edd6402cf32686c25da13e0..9cf5d91349f5fd6067e7816477846ee557a1a747 100644
--- a/spec/routing/project_routing_spec.rb
+++ b/spec/routing/project_routing_spec.rb
@@ -392,6 +392,7 @@ end
 describe BlobController, "routing" do
   it "to #show" do
     get("/gitlabhq/blob/master/app/models/project.rb").should route_to('blob#show', project_id: 'gitlabhq', id: 'master/app/models/project.rb')
+    get("/gitlabhq/blob/master/app/models/compare.rb").should route_to('blob#show', project_id: 'gitlabhq', id: 'master/app/models/compare.rb')
   end
 end