diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml
index 8d6046e3bc8aa8f54a2ea473a2bd3348c6c943b2..79a0dc1b9591d30bc18349739c29f299e871cec4 100644
--- a/app/views/projects/_home_panel.html.haml
+++ b/app/views/projects/_home_panel.html.haml
@@ -28,11 +28,11 @@
           .project-clone-holder
             = render "shared/clone_panel"
 
-        - if current_user && can?(current_user, :download_code, @project)
-          = render 'projects/buttons/download', project: @project, ref: @ref
-          = render 'projects/buttons/dropdown'
-          = render 'projects/buttons/koding'
-
         - if current_user
+          - if can?(current_user, :download_code, @project)
+            = render 'projects/buttons/download', project: @project, ref: @ref
+            = render 'projects/buttons/dropdown'
+            = render 'projects/buttons/koding'
+
           = render 'shared/notifications/button', notification_setting: @notification_setting
           = render 'shared/members/access_request_buttons', source: @project
diff --git a/spec/views/projects/_home_panel.html.haml_spec.rb b/spec/views/projects/_home_panel.html.haml_spec.rb
index 0abd7c524a16ed139bf400e2176349b949df3990..5af57cdf3b75784a177afb5cd40b1d4ffb8ead63 100644
--- a/spec/views/projects/_home_panel.html.haml_spec.rb
+++ b/spec/views/projects/_home_panel.html.haml_spec.rb
@@ -15,7 +15,7 @@ describe 'projects/_home_panel', :view do
     allow(view).to receive(:can?).and_return(false)
   end
 
-  context 'user is signed in' do
+  context 'when user is signed in' do
     let(:user) { create(:user) }
 
     it 'makes it possible to set notification level' do
@@ -26,7 +26,7 @@ describe 'projects/_home_panel', :view do
     end
   end
 
-  context 'user is signed out' do
+  context 'when user is signed out' do
     let(:user) { nil }
 
     it 'is not possible to set notification level' do