diff --git a/app/assets/javascripts/notes.js.coffee b/app/assets/javascripts/notes.js.coffee
index 9963299988ea77ff1647edb8a244b1de1f5526ee..24569c4f97525a1b8fc2774ab3ab39ed2cb75b34 100644
--- a/app/assets/javascripts/notes.js.coffee
+++ b/app/assets/javascripts/notes.js.coffee
@@ -1,5 +1,4 @@
 #= require autosave
-#= require autosize
 #= require dropzone
 #= require dropzone_input
 #= require gfm_auto_complete
@@ -288,7 +287,6 @@ class @Notes
       else
         previewButton.removeClass("turn-on").addClass "turn-off"
 
-    autosize(textarea)
     new Autosave textarea, [
       "Note"
       form.find("#note_commit_id").val()
@@ -370,9 +368,6 @@ class @Notes
     textarea = form.find("textarea")
     textarea.focus()
 
-    if isNewForm
-      autosize(textarea)
-
     # HACK (rspeicher/DouweM): Work around a Chrome 43 bug(?).
     # The textarea has the correct value, Chrome just won't show it unless we
     # modify it, so let's clear it and re-set it!
diff --git a/app/assets/javascripts/zen_mode.js.coffee b/app/assets/javascripts/zen_mode.js.coffee
index e1c5446eaace9ad2e89041d62cadaebbe6b9014c..99f35ecfb0fbc4ae69a731d927bbdd69809925fa 100644
--- a/app/assets/javascripts/zen_mode.js.coffee
+++ b/app/assets/javascripts/zen_mode.js.coffee
@@ -42,7 +42,7 @@ class @ZenMode
       $(e.currentTarget).trigger('zen_mode:leave')
 
     $(document).on 'zen_mode:enter', (e) =>
-      @enter(e.target.parentNode)
+      @enter($(e.target).closest('.md-area').find('.zen-backdrop'))
     $(document).on 'zen_mode:leave', (e) =>
       @exit()
 
diff --git a/app/assets/stylesheets/framework/markdown_area.scss b/app/assets/stylesheets/framework/markdown_area.scss
index 8328aac4e7adef360155418725894a08bf3b985d..9e2240bd217236a39509fdb6cd3057fdc9aabf3e 100644
--- a/app/assets/stylesheets/framework/markdown_area.scss
+++ b/app/assets/stylesheets/framework/markdown_area.scss
@@ -65,6 +65,21 @@
   position: relative;
 }
 
+.md-header {
+  .nav-links {
+    .active {
+      a {
+        border-bottom-color: #000;
+      }
+    }
+
+    a {
+      padding-top: 0;
+      line-height: 1;
+    }
+  }
+}
+
 .referenced-users {
   color: #4c4e54;
   padding-top: 10px;
diff --git a/app/assets/stylesheets/framework/typography.scss b/app/assets/stylesheets/framework/typography.scss
index b1886fbe67b64ac4295ac3b52aeedd343924d126..2ed0f82f9116a935c8cfdf5a0cb7ff3a4a8dca43 100644
--- a/app/assets/stylesheets/framework/typography.scss
+++ b/app/assets/stylesheets/framework/typography.scss
@@ -244,7 +244,7 @@ a > code {
  * Textareas intended for GFM
  *
  */
-textarea.js-gfm-input {
+.js-gfm-input {
   font-family: $monospace_font;
   color: $gl-text-color;
 }
diff --git a/app/assets/stylesheets/framework/zen.scss b/app/assets/stylesheets/framework/zen.scss
index 02e24ec7c4d59bb78387ace8c61e5d1d433060c4..e75f4471e6cbb85c360c4a264d76efd601275c04 100644
--- a/app/assets/stylesheets/framework/zen.scss
+++ b/app/assets/stylesheets/framework/zen.scss
@@ -1,26 +1,4 @@
 .zennable {
-  a.js-zen-enter {
-    color: $gl-gray;
-    position: absolute;
-    top: 0;
-    right: 4px;
-    line-height: 56px;
-  }
-
-  a.js-zen-leave {
-    display: none;
-    color: $gl-text-color;
-    position: absolute;
-    top: 10px;
-    right: 10px;
-    padding: 5px;
-    font-size: 36px;
-
-    &:hover {
-      color: #111;
-    }
-  }
-
   .zen-backdrop {
     &.fullscreen {
       background-color: white;
@@ -47,11 +25,7 @@
         margin: 0 auto;
       }
 
-      a.js-zen-enter {
-        display: none;
-      }
-
-      a.js-zen-leave {
+      .zen-control-leave {
         display: block;
         position: absolute;
         top: 0;
@@ -59,3 +33,21 @@
     }
   }
 }
+
+.zen-cotrol {
+  color: #555;
+  line-height: 31px;
+}
+
+.zen-control-leave {
+  display: none;
+  color: $gl-text-color;
+  position: absolute;
+  right: 10px;
+  padding: 5px;
+  font-size: 36px;
+
+  &:hover {
+    color: #111;
+  }
+}
diff --git a/app/assets/stylesheets/pages/note_form.scss b/app/assets/stylesheets/pages/note_form.scss
index 91b5216a22f90b0c9641ebfb7176649f4f4832c7..554f87c05adda4b6af12a0e8bf1075c0c49311aa 100644
--- a/app/assets/stylesheets/pages/note_form.scss
+++ b/app/assets/stylesheets/pages/note_form.scss
@@ -1,10 +1,6 @@
 /**
  * Note Form
  */
-
-.comment-btn {
-  @extend .btn-create;
-}
 .reply-btn {
   @extend .btn-primary;
   margin: 10px $gl-padding;
@@ -42,18 +38,22 @@
     max-width: 100%;
   }
 
-  .note_text {
-    width: 100%;
-  }
-
   .comment-hints {
     margin-top: -12px;
   }
 }
 
-/* loading indicator */
-.notes-busy {
-  margin: 18px;
+.note-textarea {
+  padding-left: 0;
+  padding-right: 0;
+  font-family: $regular_font;
+  border-left: 0;
+  border-right: 0;
+  resize: none!important; // TODO: Find a way to remove this !important
+
+  &:focus {
+    outline: 0;
+  }
 }
 
 .note-image-attach {
@@ -64,11 +64,9 @@
 
 .common-note-form {
   margin: 0;
-  background: #fff;
   padding: $gl-padding;
-  margin-left: -$gl-padding;
-  margin-right: -$gl-padding;
-  margin-bottom: -$gl-padding;
+  border: 1px solid #E5E5E5;
+  border-radius: $border-radius-base;
 }
 
 .note-form-actions {
diff --git a/app/views/projects/_md_preview.html.haml b/app/views/projects/_md_preview.html.haml
index 1fb37ef6621ddf0e497c6d1260958981f843c6f5..32c44338614de67a3e68a65425c556185be9ce63 100644
--- a/app/views/projects/_md_preview.html.haml
+++ b/app/views/projects/_md_preview.html.haml
@@ -1,18 +1,20 @@
 .md-area
   .md-header.clearfix
-    %ul.nav-links
+    %ul.nav-links.pull-left
       %li.active
-        %a.js-md-write-button(href="#md-write-holder" tabindex="-1")
+        %a.js-md-write-button{ href: "#md-write-holder" }
           Write
       %li
-        %a.js-md-preview-button(href="#md-preview-holder" tabindex="-1")
+        %a.js-md-preview-button{ href: "#md-preview-holder" }
           Preview
+    .pull-right
+      %a.zen-cotrol.js-zen-enter{ href: "#" }
+        Go full screen
 
-  %div
-    .md-write-holder
-      = yield
-    .md.md-preview-holder.hide
-      .js-md-preview{class: (preview_class if defined?(preview_class))}
+  .md-write-holder
+    = yield
+  .md.md-preview-holder.hide
+    .js-md-preview{class: (preview_class if defined?(preview_class))}
 
   - if defined?(referenced_users) && referenced_users
     %div.referenced-users.hide
diff --git a/app/views/projects/_zen.html.haml b/app/views/projects/_zen.html.haml
index 93a7e1cfebdf00723b70b38f43873cc1be85ac6c..efa60c88b14d97376155bf91e3ed7d9456fc3e46 100644
--- a/app/views/projects/_zen.html.haml
+++ b/app/views/projects/_zen.html.haml
@@ -2,10 +2,8 @@
   .zen-backdrop
     - classes << ' js-gfm-input js-autosize markdown-area'
     - if defined?(f) && f
-      = f.text_area attr, class: classes
+      = f.text_area attr, class: classes, placeholder: "Write a comment or drag your files here..."
     - else
-      = text_area_tag attr, nil, class: classes
-    %a.js-zen-enter{ tabindex: "-1", href: "#" }
-      Go full screen
-    %a.js-zen-leave{ tabindex: "-1", href: "#" }
+      = text_area_tag attr, nil, class: classes, placeholder: "Write a comment or drag your files here..."
+    %a.zen-cotrol.zen-control-leave.js-zen-leave{ href: "#" }
       = icon('compress')
diff --git a/app/views/projects/notes/_edit_form.html.haml b/app/views/projects/notes/_edit_form.html.haml
index 2999befffc642be5723a25c3c90e47c1f6211ec3..3a5551b08c3c0c131f2e6edc70155296cff25dd0 100644
--- a/app/views/projects/notes/_edit_form.html.haml
+++ b/app/views/projects/notes/_edit_form.html.haml
@@ -2,7 +2,7 @@
   = form_for note, url: namespace_project_note_path(@project.namespace, @project, note), method: :put, remote: true, authenticity_token: true, html: { class: 'edit-note js-quick-submit' } do |f|
     = note_target_fields(note)
     = render layout: 'projects/md_preview', locals: { preview_class: 'md-preview' } do
-      = render 'projects/zen', f: f, attr: :note, classes: 'note_text js-note-text js-task-list-field'
+      = render 'projects/zen', f: f, attr: :note, classes: 'note-textarea js-note-text js-task-list-field'
       = render 'projects/notes/hints'
 
     .note-form-actions.clearfix
diff --git a/app/views/projects/notes/_form.html.haml b/app/views/projects/notes/_form.html.haml
index 8517e5a765a9962e143978eb2bd0ca26641315d2..c446ecec2c386d20f617f5120e3cc7d5b036566f 100644
--- a/app/views/projects/notes/_form.html.haml
+++ b/app/views/projects/notes/_form.html.haml
@@ -8,7 +8,7 @@
   = f.hidden_field :noteable_type
 
   = render layout: 'projects/md_preview', locals: { preview_class: "md-preview", referenced_users: true } do
-    = render 'projects/zen', f: f, attr: :note, classes: 'note_text js-note-text'
+    = render 'projects/zen', f: f, attr: :note, classes: 'note-textarea js-note-text'
     = render 'projects/notes/hints'
     .error-alert
 
diff --git a/app/views/projects/notes/_notes_with_form.html.haml b/app/views/projects/notes/_notes_with_form.html.haml
index 003f42db0b8eed1e045fdef8c83dd2712f48a8c0..8a5a3199959ec6873417e04068d9c05b405d1d28 100644
--- a/app/views/projects/notes/_notes_with_form.html.haml
+++ b/app/views/projects/notes/_notes_with_form.html.haml
@@ -7,18 +7,18 @@
           = image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40'
     .timeline-content
       .js-main-target-form
-      - if can? current_user, :create_note, @project
-        = render "projects/notes/form", view: diff_view
-      - else
-        .disabled-comment-area
-          .disabled-profile
-          .disabled-comment
-            %span
-              Please
-              = link_to "register",new_user_session_path
-              or
-              = link_to "login",new_user_session_path
-              to post a comment
+        - if can? current_user, :create_note, @project
+          = render "projects/notes/form", view: diff_view
+        - else
+          .disabled-comment-area
+            .disabled-profile
+            .disabled-comment
+              %span
+                Please
+                = link_to "register",new_user_session_path
+                or
+                = link_to "login",new_user_session_path
+                to post a comment
 
 :javascript
   var notes = new Notes("#{namespace_project_notes_path(namespace_id: @project.namespace, target_id: @noteable.id, target_type: @noteable.class.name.underscore)}", #{@notes.map(&:id).to_json}, #{Time.now.to_i}, "#{diff_view}")