diff --git a/app/assets/stylesheets/generic/issuable.scss b/app/assets/stylesheets/generic/issuable.scss
new file mode 100644
index 0000000000000000000000000000000000000000..f456b3ace1aca5978b982cf1bb73cee167c6b0e6
--- /dev/null
+++ b/app/assets/stylesheets/generic/issuable.scss
@@ -0,0 +1,9 @@
+/**
+ * Styles that apply to both issues and merge requests.
+ */
+
+.issue-form, .merge-request-form {
+  .description {
+    height: 20em;
+  }
+}
diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml
index 402cdb44182fc733e7cd0ac53e64bf4548593f85..824460e7fedce6a53756295300b5c6d02b9f6304 100644
--- a/app/views/projects/_issuable_form.html.haml
+++ b/app/views/projects/_issuable_form.html.haml
@@ -7,12 +7,8 @@
 .form-group.issuable-description
   = f.label :description, 'Description', class: 'control-label'
   .col-sm-10
-    .zennable
-      %input#zen-toggle-comment{ tabindex: '-1', type: 'checkbox' }
-      .zen-backdrop
-        = f.text_area :description, rows: 14, class: 'form-control js-gfm-input markdown-area', placeholder: 'Leave a comment'
-        %label{ for: 'zen-toggle-comment', class: 'expand' } Edit in fullscreen
-        %label{ for: 'zen-toggle-comment', class: 'collapse' }
+    = render 'projects/zen', f: f, attr: :description,
+                             classes: 'description form-control'
     .col-sm-12.hint
       .pull-left
         Parsed with
diff --git a/app/views/projects/_zen.html.haml b/app/views/projects/_zen.html.haml
new file mode 100644
index 0000000000000000000000000000000000000000..2bbc49e8eb5d38f23a1090672839e43377bf7741
--- /dev/null
+++ b/app/views/projects/_zen.html.haml
@@ -0,0 +1,7 @@
+.zennable
+  %input#zen-toggle-comment{ tabindex: '-1', type: 'checkbox' }
+  .zen-backdrop
+    - classes << ' js-gfm-input markdown-area'
+    = f.text_area attr, class: classes, placeholder: 'Leave a comment'
+    %label{ for: 'zen-toggle-comment', class: 'expand' } Edit in fullscreen
+    %label{ for: 'zen-toggle-comment', class: 'collapse' }
diff --git a/app/views/projects/merge_requests/_new_submit.html.haml b/app/views/projects/merge_requests/_new_submit.html.haml
index 657a77eb758a3b6842df6a9616f2c8ec34c9dcfb..64fc0160926850e755e32653ba3205e9316cce36 100644
--- a/app/views/projects/merge_requests/_new_submit.html.haml
+++ b/app/views/projects/merge_requests/_new_submit.html.haml
@@ -21,12 +21,8 @@
       .form-group
         .light
           = f.label :description, "Description"
-        .zennable
-          %input#zen-toggle-comment{ tabindex: '-1', type: 'checkbox' }
-          .zen-backdrop
-            = f.text_area :description, class: 'form-control js-gfm-input markdown-area', rows: 10, placeholder: 'Leave a comment'
-            %label{ for: 'zen-toggle-comment', class: 'expand' } Edit in fullscreen
-            %label{ for: 'zen-toggle-comment', class: 'collapse' }
+        = render 'projects/zen', f: f, attr: :description,
+                                 classes: 'description form-control'
         .clearfix.hint
           .pull-left Description is parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"), target: '_blank'}.
           .pull-right Attach images (JPG, PNG, GIF) by dragging & dropping or #{link_to "selecting them", '#', class: 'markdown-selector' }.
diff --git a/app/views/projects/notes/_form.html.haml b/app/views/projects/notes/_form.html.haml
index 66b79e5026b436205c9609d22b8255308ebc5c8f..65d7f081545e18e8ca6f751c1600c51255cce25d 100644
--- a/app/views/projects/notes/_form.html.haml
+++ b/app/views/projects/notes/_form.html.haml
@@ -14,13 +14,8 @@
         Preview
   %div
     .note-write-holder
-      .zennable
-        %input#zen-toggle-comment{ tabindex: '-1', type: 'checkbox' }
-        .zen-backdrop
-          = f.text_area :note, size: 255, class: 'note_text js-note-text js-gfm-input markdown-area', placeholder: 'Leave a comment'
-          %label{ for: 'zen-toggle-comment', class: 'expand' } Edit in fullscreen
-          %label{ for: 'zen-toggle-comment', class: 'collapse' }
-
+      = render 'projects/zen', f: f, attr: :note,
+                               classes: 'note_text js-note-text'
       .light.clearfix
         .pull-left Comments are parsed with #{link_to "GitLab Flavored Markdown", help_page_path("markdown", "markdown"),{ target: '_blank', tabindex: -1 }}
         .pull-right Attach images (JPG, PNG, GIF) by dragging &amp; dropping or #{link_to "selecting them", '#', class: 'markdown-selector', tabindex: -1 }.