diff --git a/app/views/groups/activity.html.haml b/app/views/groups/activity.html.haml
index f73e1d9e8652fdc398b4a2faefdb7673b9b63dfe..aaad265b3ee316c1a2dcb0b946a1331434e60db8 100644
--- a/app/views/groups/activity.html.haml
+++ b/app/views/groups/activity.html.haml
@@ -3,7 +3,6 @@
     = auto_discovery_link_tag(:atom, group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} activity")
 
 - page_title    "Activity"
-- header_title  group_title(@group, "Activity", activity_group_path(@group))
 
 %section.activities
   = render 'activities'
diff --git a/app/views/groups/edit.html.haml b/app/views/groups/edit.html.haml
index a698cbbe9dbd4a5b67ca118cf2fa16b8e1ec8867..92cd4c553d0b4d00072c07866331651381ef1f76 100644
--- a/app/views/groups/edit.html.haml
+++ b/app/views/groups/edit.html.haml
@@ -1,5 +1,3 @@
-- header_title group_title(@group, "Settings", edit_group_path(@group))
-
 .panel.panel-default.prepend-top-default
   .panel-heading
     Group settings
diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml
index 6b7fd5746d6fb1461518985b5e79452c8550b984..0eb6bbd442015e0843a46163d6e6e372cb031cc2 100644
--- a/app/views/groups/group_members/index.html.haml
+++ b/app/views/groups/group_members/index.html.haml
@@ -1,5 +1,4 @@
 - page_title "Members"
-- header_title group_title(@group, "Members", group_group_members_path(@group))
 
 .group-members-page.prepend-top-default
   - if current_user && current_user.can?(:admin_group_member, @group)
diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml
index aea35c50862c5d3da9fa95651aba5c814e2cbdc8..76160232e06cd8e1816e8b1608901f956388cb56 100644
--- a/app/views/groups/issues.html.haml
+++ b/app/views/groups/issues.html.haml
@@ -1,5 +1,4 @@
 - page_title "Issues"
-- header_title group_title(@group, "Issues", issues_group_path(@group))
 = content_for :meta_tags do
   - if current_user
     = auto_discovery_link_tag(:atom, issues_group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} issues")
diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml
index e1c9dd931ee6bfcb0948334a5b1e80b456d7a270..87090352e2697c7389777cc59b0b7b6824c95496 100644
--- a/app/views/groups/merge_requests.html.haml
+++ b/app/views/groups/merge_requests.html.haml
@@ -1,5 +1,4 @@
 - page_title "Merge Requests"
-- header_title group_title(@group, "Merge Requests", merge_requests_group_path(@group))
 
 .top-area
   = render 'shared/issuable/nav', type: :merge_requests
diff --git a/app/views/groups/milestones/index.html.haml b/app/views/groups/milestones/index.html.haml
index ab307708b7549c572554e8a7374d054d342c3535..8bca00eb710f7fe69787621cfa4abe4219a2406e 100644
--- a/app/views/groups/milestones/index.html.haml
+++ b/app/views/groups/milestones/index.html.haml
@@ -1,5 +1,4 @@
 - page_title "Milestones"
-- header_title group_title(@group, "Milestones", group_milestones_path(@group))
 
 .top-area
   = render 'shared/milestones_filter'
diff --git a/app/views/groups/projects.html.haml b/app/views/groups/projects.html.haml
index dd75766121ef2f390e06d5db39be7b64e1802a3a..c2f2d9912f78cfbbefc68a174b3803cba98eef38 100644
--- a/app/views/groups/projects.html.haml
+++ b/app/views/groups/projects.html.haml
@@ -1,5 +1,4 @@
 - page_title "Projects"
-- header_title group_title(@group, "Projects", projects_group_path(@group))
 
 .panel.panel-default.prepend-top-default
   .panel-heading
diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml
index 3d16ecb097a5735b41970a701c58590343823d8f..c71070e6c9c253adf6bf8edddfd6cb1f1955fa05 100644
--- a/app/views/groups/show.html.haml
+++ b/app/views/groups/show.html.haml
@@ -5,12 +5,6 @@
     = auto_discovery_link_tag(:atom, group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} activity")
 
 .cover-block
-  .cover-controls
-    - if @group && can?(current_user, :admin_group, @group)
-      = link_to icon('pencil'), edit_group_path(@group), class: 'btn'
-    - if current_user
-      = link_to icon('rss'), group_path(@group, { format: :atom, private_token: current_user.private_token }), title: "Feed", class: 'btn rss-btn'
-
   .avatar-holder
     = link_to group_icon(@group), target: '_blank' do
       = image_tag group_icon(@group), class: "avatar group-avatar s90"
diff --git a/app/views/layouts/group.html.haml b/app/views/layouts/group.html.haml
index 2e483b7148d01011f3d4f1070043ef124bfafe9d..7bee7e172e6539b815b8a26774d33d1764129e22 100644
--- a/app/views/layouts/group.html.haml
+++ b/app/views/layouts/group.html.haml
@@ -1,6 +1,7 @@
 - page_title       @group.name
 - page_description @group.description  unless page_description
 - header_title     group_title(@group) unless header_title
-- sidebar          "group"             unless sidebar
+- sidebar          "dashboard"         unless sidebar
+- nav              "group"
 
 = render template: "layouts/application"
diff --git a/app/views/layouts/group_settings.html.haml b/app/views/layouts/group_settings.html.haml
index a1a1fc2f85847fad8d37efd25c423fd86da81fb8..1ff53ce2a9d400a75eca2f42d9d9b2c1af50aa91 100644
--- a/app/views/layouts/group_settings.html.haml
+++ b/app/views/layouts/group_settings.html.haml
@@ -1,5 +1,5 @@
 - page_title    "Settings"
-- header_title group_title(@group, "Settings", edit_group_path(@group))
-- sidebar       "group_settings"
+- sidebar       "dashboard" unless sidebar
+- nav           "group"
 
 = render template: "layouts/group"
diff --git a/app/views/layouts/nav/_dashboard.html.haml b/app/views/layouts/nav/_dashboard.html.haml
index ca49c313ff7fddf1dfdce136873b8b624a1b07d1..fad4224e94537970c101bcd3e6a7d7c34739dc9d 100644
--- a/app/views/layouts/nav/_dashboard.html.haml
+++ b/app/views/layouts/nav/_dashboard.html.haml
@@ -15,12 +15,12 @@
       = icon('dashboard fw')
       %span
         Activity
-  = nav_link(controller: :groups) do
+  = nav_link(controller: [:groups, 'groups/milestones', 'groups/group_members']) do
     = link_to dashboard_groups_path, title: 'Groups' do
       = icon('group fw')
       %span
         Groups
-  = nav_link(controller: :milestones) do
+  = nav_link(controller: 'dashboard/milestones') do
     = link_to dashboard_milestones_path, title: 'Milestones' do
       = icon('clock-o fw')
       %span
diff --git a/app/views/layouts/nav/_group.html.haml b/app/views/layouts/nav/_group.html.haml
index 55940741dc07e4ca59c67bd384097e37dc0f50bb..bc5ce7052e4fa15c9ed7cc191d14c4eff3fcc194 100644
--- a/app/views/layouts/nav/_group.html.haml
+++ b/app/views/layouts/nav/_group.html.haml
@@ -1,12 +1,28 @@
-%ul.nav.nav-sidebar
-  = nav_link do
-    = link_to root_path, title: 'Go to dashboard', class: 'back-link' do
-      = icon('caret-square-o-left fw')
-      %span
-        Go to dashboard
+- if current_user
+  .controls
+    - if current_path?('groups#show')
+      = link_to icon('rss'), group_path(@group, { format: :atom, private_token: current_user.private_token }), title: "Feed", class: 'btn btn-gray rss-btn'
 
-  %li.separate-item
+    %span.dropdown.group-settings-dropdown
+      %a.dropdown-new.btn.btn-gray#group-settings-button{href: '#', 'data-toggle' => 'dropdown'}
+        = icon('cog')
+        = icon('angle-down')
+      %ul.dropdown-menu.dropdown-menu-align-right
+        = nav_link(path: 'groups#projects') do
+          = link_to projects_group_path(@group), title: 'Projects' do
+            Projects
+        %li.divider
+        - if @group && can?(current_user, :admin_group, @group)
+          %li
+            = link_to edit_group_path(@group) do
+              Edit Group
+        - if access = @group.users.find(current_user)
+          %li
+            = link_to leave_group_group_members_path(@group),
+              data: { confirm: leave_group_message(@group.name) }, method: :delete, title: 'Leave group' do
+              Leave Group
 
+%ul.nav-links
   = nav_link(path: 'groups#show', html_options: {class: 'home'}) do
     = link_to group_path(@group), title: 'Home' do
       = icon('group fw')
@@ -28,22 +44,16 @@
       %span
         Issues
         - issues = IssuesFinder.new(current_user, group_id: @group.id, state: 'opened').execute
-        %span.count= number_with_delimiter(issues.count)
+        %span.badge.count= number_with_delimiter(issues.count)
   = nav_link(path: 'groups#merge_requests') do
     = link_to merge_requests_group_path(@group), title: 'Merge Requests' do
       = icon('tasks fw')
       %span
         Merge Requests
         - merge_requests = MergeRequestsFinder.new(current_user, group_id: @group.id, state: 'opened').execute
-        %span.count= number_with_delimiter(merge_requests.count)
+        %span.badge.count= number_with_delimiter(merge_requests.count)
   = nav_link(controller: [:group_members]) do
     = link_to group_group_members_path(@group), title: 'Members' do
       = icon('users fw')
       %span
         Members
-  - if can?(current_user, :admin_group, @group)
-    = nav_link(html_options: { class: "separate-item" }) do
-      = link_to edit_group_path(@group), title: 'Settings' do
-        = icon ('cogs fw')
-        %span
-          Settings