diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb
index 4d168b434b..66b4cb1ab8 100644
--- a/lib/redmine/field_format.rb
+++ b/lib/redmine/field_format.rb
@@ -415,7 +415,27 @@ module Redmine
       end
 
       def edit_tag(view, tag_id, tag_name, custom_value, options={})
-        view.text_area_tag(tag_name, custom_value.value, options.merge(:id => tag_id, :rows => 8))
+        not_full_width_custom_fields = %w(IssueCustomField UserCustomField TimeEntryActivityCustomField)
+
+        # Display wikitoolbar only if textarea is full width
+        if custom_value.custom_field.text_formatting == 'full' &&
+          (not_full_width_custom_fields.exclude?(custom_value.custom_field.type) ||custom_value.custom_field.full_width_layout?)
+
+          if custom_value.custom_field.type == "IssueCustomField"
+            preview_url = view.preview_issue_url(:project_id => custom_value.customized.project.id, :issue_id => custom_value.customized.id)
+          else
+            preview_url = view.preview_text_url
+          end
+          view.content_tag('span', :id => "#{tag_id}_and_toolbar") do
+            view.text_area_tag(tag_name, custom_value.value,
+                              options.merge(:id => tag_id,
+                                            :rows => 8,
+                                            :class => 'wiki-edit'
+                                            ))
+          end + view.wikitoolbar_for(tag_id, preview_url)
+        else
+          view.text_area_tag(tag_name, custom_value.value, options.merge(:id => tag_id, :rows => 8))
+        end
       end
 
       def bulk_edit_tag(view, tag_id, tag_name, custom_field, objects, value, options={})
diff --git a/test/unit/lib/redmine/field_format/field_format_test.rb b/test/unit/lib/redmine/field_format/field_format_test.rb
index f066389446..51f64bce24 100644
--- a/test/unit/lib/redmine/field_format/field_format_test.rb
+++ b/test/unit/lib/redmine/field_format/field_format_test.rb
@@ -98,4 +98,40 @@ class Redmine::FieldFormatTest < ActionView::TestCase
     assert_equal "foo bar", field.format.formatted_custom_value(self, custom_value, false)
     assert_equal 'foo bar', field.format.formatted_custom_value(self, custom_value, true)
   end
+
+  def test_edit_tag_should_display_wikitoolbar_if_text_formatting_enabled
+    field = ProjectCustomField.new(:field_format => 'text', :text_formatting => 'full')
+    custom_value = CustomValue.new(:custom_field => field, :customized => Project.first, :value => "foo bar")
+    edit_tag = field.format.edit_tag(self, "tag_id", "tag_name", custom_value)
+
+    assert_includes edit_tag, ""
+    assert_includes edit_tag, wikitoolbar_for('tag_id', preview_text_url)
+  end
+
+  def test_edit_tag_should_not_display_wikitoolbar_if_text_formatting_disabled
+    field = ProjectCustomField.new(:field_format => 'text', :text_formatting => nil)
+    custom_value = CustomValue.new(:custom_field => field, :customized => Project.first, :value => "foo bar")
+    edit_tag = field.format.edit_tag(self, "tag_id", "tag_name", custom_value)
+
+    assert_includes edit_tag, ""
+    assert_not_includes edit_tag, wikitoolbar_for('tag_id', preview_text_url)
+  end
+
+  def test_edit_tag_should_not_display_wikitoolbar_if_the_field_is_not_full_width_layout
+    field = IssueCustomField.new(:field_format => 'text', :full_width_layout => nil, :text_formatting => 'full')
+    custom_value = CustomValue.new(:custom_field => field, :customized => Issue.first, :value => "foo bar")
+    edit_tag = field.format.edit_tag(self, "tag_id", "tag_name", custom_value)
+
+    assert_includes edit_tag, ""
+    assert_not_includes edit_tag, wikitoolbar_for('tag_id', preview_text_url)
+  end
+
+  def test_edit_tag_should_display_wikitoolbar_if_the_field_is_full_width_layout
+    field = IssueCustomField.new(:field_format => 'text', :full_width_layout => '1', :text_formatting => 'full')
+    custom_value = CustomValue.new(:custom_field => field, :customized => Issue.first, :value => "foo bar")
+    edit_tag = field.format.edit_tag(self, "tag_id", "tag_name", custom_value)
+
+    assert_includes edit_tag, ""
+    assert_includes edit_tag, wikitoolbar_for('tag_id', preview_issue_url(:project_id => Issue.first.project.id, :issue_id => Issue.first.id))
+  end
 end