diff --git a/app/views/wiki/_sidebar.html.erb b/app/views/wiki/_sidebar.html.erb
index 16e8be167..e849919c4 100644
--- a/app/views/wiki/_sidebar.html.erb
+++ b/app/views/wiki/_sidebar.html.erb
@@ -1,3 +1,11 @@
+<% if User.current.allowed_to?(:edit_wiki_pages, @project) &&
+ (@wiki && @wiki.find_or_new_page('Sidebar').editable_by?(User.current)) %>
+
+ <%= link_to l(:button_edit), edit_project_wiki_page_path(@project, 'sidebar'),
+ :class => 'icon icon-edit' %>
+
+<% end -%>
+
<% if @wiki && @wiki.sidebar -%>
<%= textilizable @wiki.sidebar.content, :text %>
diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb
index e3ac6cb4e..4f732772a 100644
--- a/test/functional/wiki_controller_test.rb
+++ b/test/functional/wiki_controller_test.rb
@@ -46,6 +46,14 @@ class WikiControllerTest < Redmine::ControllerTest
assert_select 'a[href=?]', '/projects/ecookbook/wiki/CookBook_documentation.txt'
end
+ def test_edit_sidebar_link
+ Role.anonymous.add_permission! :edit_wiki_pages
+ Role.anonymous.add_permission! :protect_wiki_pages
+ get :show, :params => {:project_id => 'ecookbook'}
+ assert_response :success
+ assert_select 'a[href=?]', '/projects/ecookbook/wiki/sidebar/edit'
+ end
+
def test_show_page_with_name
get :show, :params => {:project_id => 1, :id => 'Another_page'}
assert_response :success