diff --git a/config/routes.rb b/config/routes.rb
index 0950bed3cf16aa549dfcc84277dbec7dee7f2603..03b4a32a9dd666fa373a785633fb9226d98ec014 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -242,7 +242,7 @@ Gitlab::Application.routes.draw do
       resources :group_members, only: [:index, :create, :update, :destroy] do
         delete :leave, on: :collection
       end
-      
+
       resource :avatar, only: [:destroy]
       resources :milestones, only: [:index, :show, :update]
     end
@@ -318,14 +318,6 @@ Gitlab::Application.routes.draw do
             as: :tree
           )
         end
-        resource  :avatar,    only: [:show, :destroy]
-
-        resources :commit,    only: [:show], constraints: { id: /[[:alnum:]]{6,40}/ } do
-          get :branches, on: :member
-        end
-
-        resources :commits,   only: [:show], constraints: { id: /(?:[^.]|\.(?!atom$))+/, format: /atom/ }
-        resources :compare,   only: [:index, :create]
 
         scope do
           get(
@@ -336,8 +328,24 @@ Gitlab::Application.routes.draw do
           )
         end
 
-        resources :network,   only: [:show], constraints: { id: /(?:[^.]|\.(?!json$))+/, format: /json/ }
-        resources :graphs,    only: [:show], constraints: { id: /(?:[^.]|\.(?!json$))+/, format: /json/ } do
+        scope do
+          get(
+            '/commits/*id',
+            to: 'commits#show',
+            constraints: { id: /(?:[^.]|\.(?!atom$))+/, format: /atom/ },
+            as: :commits
+          )
+        end
+
+        resource  :avatar, only: [:show, :destroy]
+        resources :commit, only: [:show], constraints: { id: /[[:alnum:]]{6,40}/ } do
+          get :branches, on: :member
+        end
+
+        resources :compare, only: [:index, :create]
+        resources :network, only: [:show], constraints: { id: /(?:[^.]|\.(?!json$))+/, format: /json/ }
+
+        resources :graphs, only: [:show], constraints: { id: /(?:[^.]|\.(?!json$))+/, format: /json/ } do
           member do
             get :commits
           end