diff --git a/CHANGELOG b/CHANGELOG
index 01f4c386e1a4ce555de97744b11ca68c7c9266c0..36a38bc3445ab515d5b5a0be03098def188de7f3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -26,6 +26,7 @@ v 8.3.0 (unreleased)
   - Block LDAP user when they are no longer found in the LDAP server
   - Improve wording on project visibility levels (Zeger-Jan van de Weg)
   - Automatically select default clone protocol based on user preferences (Eirik Lygre)
+  - Make Network page as sub tab of Commits
 
 v 8.2.3
   - Fix application settings cache not expiring after changes (Stan Hu)
diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml
index 87a7707b0959e7bbca65c941bb4d62b3d687d039..2fcba7bd6724011a2e6fb09c8413a27960e33d25 100644
--- a/app/views/layouts/nav/_project.html.haml
+++ b/app/views/layouts/nav/_project.html.haml
@@ -32,7 +32,7 @@
           Files
 
   - if project_nav_tab? :commits
-    = nav_link(controller: %w(commit commits compare repositories tags branches releases)) do
+    = nav_link(controller: %w(commit commits compare repositories tags branches releases network)) do
       = link_to project_commits_path(@project), title: 'Commits', class: 'shortcuts-commits' do
         = icon('history fw')
         %span
@@ -46,13 +46,6 @@
           Builds
           %span.count.builds_counter= @project.ci_builds.running_or_pending.count(:all)
 
-  - if project_nav_tab? :network
-    = nav_link(controller: %w(network)) do
-      = link_to namespace_project_network_path(@project.namespace, @project, current_ref), title: 'Network', class: 'shortcuts-network' do
-        = icon('code-fork fw')
-        %span
-          Network
-
   - if project_nav_tab? :graphs
     = nav_link(controller: %w(graphs)) do
       = link_to namespace_project_graph_path(@project.namespace, @project, current_ref), title: 'Graphs',  class: 'shortcuts-graphs' do
@@ -118,3 +111,10 @@
         = icon('cogs fw')
         %span
           Settings
+
+  -# Global shortcut to network page for compatibility
+  - if project_nav_tab? :network
+    %li.hidden
+      = link_to namespace_project_network_path(@project.namespace, @project, current_ref), title: 'Network', class: 'shortcuts-network' do
+        Network
+
diff --git a/app/views/projects/commits/_head.html.haml b/app/views/projects/commits/_head.html.haml
index f11a41cfd7bdbe5040e9dba75ff5d54b9c8f1777..fcccb002d7e8d482f5358ae34bfc459304fae546 100644
--- a/app/views/projects/commits/_head.html.haml
+++ b/app/views/projects/commits/_head.html.haml
@@ -3,6 +3,11 @@
     = link_to namespace_project_commits_path(@project.namespace, @project, current_ref) do
       Commits
       %span.badge= number_with_delimiter(@repository.commit_count)
+
+  = nav_link(controller: %w(network)) do
+    = link_to namespace_project_network_path(@project.namespace, @project, current_ref) do
+      Network
+
   = nav_link(controller: :compare) do
     = link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: current_ref) do
       Compare
diff --git a/app/views/projects/network/_head.html.haml b/app/views/projects/network/_head.html.haml
index 9e0e0dc6bb0f31857ea9b4715eea54c4e3dc33dd..28a617538b50e2ff6e5412f4c49e20da662fac87 100644
--- a/app/views/projects/network/_head.html.haml
+++ b/app/views/projects/network/_head.html.haml
@@ -1,4 +1,4 @@
-.gray-content-block.top-block.append-bottom-default
+.gray-content-block.append-bottom-default
   .tree-ref-holder
     = render partial: 'shared/ref_switcher', locals: {destination: 'graph'}
 
diff --git a/app/views/projects/network/show.html.haml b/app/views/projects/network/show.html.haml
index 16005161df623103afe5b06ccd24c71a85a7f597..8065663ca2a873740c3ae121399f20be94b2a237 100644
--- a/app/views/projects/network/show.html.haml
+++ b/app/views/projects/network/show.html.haml
@@ -1,5 +1,6 @@
 - page_title "Network", @ref
-= header_title project_title(@project, "Network", namespace_project_network_path(@project.namespace, @project, current_ref))
+= render "projects/commits/header_title"
+= render "projects/commits/head"
 = render "head"
 .project-network
   .controls
diff --git a/features/project/active_tab.feature b/features/project/active_tab.feature
index 8661ea98c20e96cea4c2aa6c021e105585bceda7..2fd097d100bc72dd331224241ed562ff122fd8f2 100644
--- a/features/project/active_tab.feature
+++ b/features/project/active_tab.feature
@@ -20,11 +20,6 @@ Feature: Project Active Tab
     Then the active main tab should be Commits
     And no other main tabs should be active
 
-  Scenario: On Project Network
-    Given I visit my project's network page
-    Then the active main tab should be Network
-    And no other main tabs should be active
-
   Scenario: On Project Issues
     Given I visit my project's issues page
     Then the active main tab should be Issues
@@ -83,6 +78,12 @@ Feature: Project Active Tab
     And no other sub tabs should be active
     And the active main tab should be Commits
 
+  Scenario: On Project Commits/Network
+    Given I visit my project's network page
+    Then the active sub tab should be Network
+    And no other sub tabs should be active
+    And the active main tab should be Commits
+
   Scenario: On Project Commits/Compare
     Given I visit my project's commits page
     And I click the "Compare" tab
diff --git a/features/project/shortcuts.feature b/features/project/shortcuts.feature
index 0f71c32380bf2a831187e1f699474833175b981f..10e7c23461057db7f8a9f825fec983f8b75d0b74 100644
--- a/features/project/shortcuts.feature
+++ b/features/project/shortcuts.feature
@@ -19,7 +19,8 @@ Feature: Project Shortcuts
   @javascript
   Scenario: Navigate to network tab
     Given I press "g" and "n"
-    Then the active main tab should be Network
+    Then the active sub tab should be Network
+    And the active main tab should be Commits
 
   @javascript
   Scenario: Navigate to graphs tab
diff --git a/features/steps/shared/project_tab.rb b/features/steps/shared/project_tab.rb
index 33ff7084e30df9f45eb6dc46846f0d940918a4f9..4fc2ece79ff927ba2e526490126c8b4e6d8f251f 100644
--- a/features/steps/shared/project_tab.rb
+++ b/features/steps/shared/project_tab.rb
@@ -16,10 +16,6 @@ module SharedProjectTab
     ensure_active_main_tab('Commits')
   end
 
-  step 'the active main tab should be Network' do
-    ensure_active_main_tab('Network')
-  end
-
   step 'the active main tab should be Graphs' do
     ensure_active_main_tab('Graphs')
   end
@@ -53,4 +49,8 @@ module SharedProjectTab
   step 'the active main tab should be Activity' do
     ensure_active_main_tab('Activity')
   end
+
+  step 'the active sub tab should be Network' do
+    ensure_active_sub_tab('Network')
+  end
 end