diff --git a/app/assets/stylesheets/generic/files.scss b/app/assets/stylesheets/generic/files.scss
index 5aeccfe1d14e4c79d425a550a892e22e179ed726..1412277ffb6c1cc158e3f8554c84a6391b3e08b0 100644
--- a/app/assets/stylesheets/generic/files.scss
+++ b/app/assets/stylesheets/generic/files.scss
@@ -20,7 +20,7 @@
 
     .options {
       float: right;
-      margin-top: -5px;
+      margin-top: -3px;
     }
 
     .left-options {
diff --git a/app/assets/stylesheets/sections/tree.scss b/app/assets/stylesheets/sections/tree.scss
index d0e03d5b66214b59f14bb4c7ca8ece58b1cedd72..18a5f6204feb66c3f91b291a27356a197e2058b9 100644
--- a/app/assets/stylesheets/sections/tree.scss
+++ b/app/assets/stylesheets/sections/tree.scss
@@ -117,15 +117,6 @@
   }
 }
 
-.tree-btn-group {
-  top: 2px;
-
-  .btn {
-    margin-right: 0px;
-    padding: 2px 10px;
-  }
-}
-
 .tree-download-holder .btn {
   padding: 4px 12px;
 }
diff --git a/app/models/ability.rb b/app/models/ability.rb
index c60aa2d622e841e912a1544f117fb49e5b61fad0..234578b5e18b65dd9b32154fc05326d7a5ab89be 100644
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -236,7 +236,11 @@ class Ability
             :"modify_#{name}",
           ]
         else
-          subject.respond_to?(:project) ? project_abilities(user, subject.project) : []
+          if subject.respond_to?(:project)
+            project_abilities(user, subject.project)
+          else
+            []
+          end
         end
       end
     end
diff --git a/app/views/projects/blob/_actions.html.haml b/app/views/projects/blob/_actions.html.haml
index 2f82bfe52f32122bba85be41760e395f1319bb36..cabef3c19fe66b30329b59ca423317889abf5b4d 100644
--- a/app/views/projects/blob/_actions.html.haml
+++ b/app/views/projects/blob/_actions.html.haml
@@ -14,6 +14,6 @@
       = link_to "blame", project_blame_path(@project, @id), class: "btn btn-small" unless @blob.empty?
   = link_to "history", project_commits_path(@project, @id), class: "btn btn-small"
 
-  - if allowed_tree_edit?
-    = link_to '#modal-remove-blob', class: "remove-blob btn btn-small btn-remove", "data-toggle" => "modal" do
-      remove
+- if allowed_tree_edit?
+  = link_to '#modal-remove-blob', class: "remove-blob btn btn-small btn-remove", "data-toggle" => "modal" do
+    remove
diff --git a/app/views/projects/snippets/_blob.html.haml b/app/views/projects/snippets/_blob.html.haml
index af326a1a99affcefafb5cb75753eae8e9a04fee0..c6350cb7d1b03ebe7d6721623e5329b3796ced22 100644
--- a/app/views/projects/snippets/_blob.html.haml
+++ b/app/views/projects/snippets/_blob.html.haml
@@ -1,10 +1,13 @@
 .file-holder
   .file-title
     %i.icon-file
-    %strong= @snippet.file_name
-    %span.options
-      .btn-group.tree-btn-group.pull-right
-        - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user
-          = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-tiny", title: 'Edit Snippet'
-        = link_to "Raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank"
+    %span.file_name
+      = @snippet.file_name
+    .options
+      .btn-group
+        - if can?(current_user, :modify_project_snippet, @snippet)
+          = link_to "edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-small", title: 'Edit Snippet'
+        = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-small", target: "_blank"
+      - if can?(current_user, :admin_project_snippet, @snippet)
+        = link_to "remove", project_snippet_path(@project, @snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-small btn-remove", title: 'Delete Snippet'
   = render 'snippets/blob_content'
diff --git a/app/views/snippets/_blob.html.haml b/app/views/snippets/_blob.html.haml
index 15867f071ef487a732014d9f7fdfee98d6d7c40d..4a907011ad1cda694c5b71ad343fa0ee2ccca44d 100644
--- a/app/views/snippets/_blob.html.haml
+++ b/app/views/snippets/_blob.html.haml
@@ -1,11 +1,13 @@
 .file-holder
   .file-title
     %i.icon-file
-    %strong= @snippet.file_name
-    %span.options
-      .btn-group.tree-btn-group.pull-right
-        - if @snippet.author == current_user
-          = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-tiny", title: 'Edit Snippet'
-          = link_to "Delete", snippet_path(@snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-tiny", title: 'Delete Snippet'
-        = link_to "Raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank"
+    %span.file_name
+      = @snippet.file_name
+    .options
+      .btn-group
+        - if can?(current_user, :modify_personal_snippet, @snippet)
+          = link_to "edit", edit_snippet_path(@snippet), class: "btn btn-small", title: 'Edit Snippet'
+        = link_to "raw", raw_snippet_path(@snippet), class: "btn btn-small", target: "_blank"
+      - if can?(current_user, :admin_personal_snippet, @snippet)
+        = link_to "remove", snippet_path(@snippet), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-small btn-remove", title: 'Delete Snippet'
   = render 'snippets/blob_content'
diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml
index a680e5eb5b79df96bb56e72d5431212ffa061058..655ff947d2074e8735229bcd1bbfa5a441fa644a 100644
--- a/app/views/snippets/show.html.haml
+++ b/app/views/snippets/show.html.haml
@@ -7,9 +7,9 @@
       private
 
   .pull-right
-    = link_to new_snippet_path, class: "btn btn-new btn-small", title: "New Snippet" do
+    = link_to new_snippet_path, class: "btn btn-new", title: "New Snippet" do
       Add new snippet
-
+%hr
 
 .append-bottom-20
   .pull-right