diff --git a/app/controllers/projects/edit_tree_controller.rb b/app/controllers/projects/edit_tree_controller.rb
index be611892bb07140abcfb71c44a383961965db09b..ca83b21f4291e3a419538caf8c9fc2f3dedc237d 100644
--- a/app/controllers/projects/edit_tree_controller.rb
+++ b/app/controllers/projects/edit_tree_controller.rb
@@ -28,8 +28,6 @@ class Projects::EditTreeController < Projects::BaseTreeController
 
   def preview
     @content = params[:content]
-    #FIXME workaround https://github.com/gitlabhq/gitlabhq/issues/5936
-    @content += "\n" if @blob.data.end_with?("\n")
 
     diffy = Diffy::Diff.new(@blob.data, @content, diff: '-U 3',
                             include_diff_info: true)
diff --git a/app/views/projects/edit_tree/show.html.haml b/app/views/projects/edit_tree/show.html.haml
index 16fc1ab1f917065140f65f7d56549937d8e730c2..05050e7df7c6bc4a0b9929934e568b6ae34fb00a 100644
--- a/app/views/projects/edit_tree/show.html.haml
+++ b/app/views/projects/edit_tree/show.html.haml
@@ -16,7 +16,7 @@
           .btn-group.tree-btn-group
             = link_to "Cancel", @after_edit_path, class: "btn btn-tiny btn-cancel", data: { confirm: leave_edit_message }
       .file-content.code
-        %pre.js-edit-mode-pane#editor= @blob.data
+        %pre.js-edit-mode-pane#editor
         .js-edit-mode-pane#preview.hide
           .center
             %h2
@@ -43,6 +43,7 @@
   ace.config.set("modePath", gon.relative_url_root + "#{Gitlab::Application.config.assets.prefix}/ace")
   var ace_mode = "#{@blob.language.try(:ace_mode)}";
   var editor = ace.edit("editor");
+  editor.setValue("#{escape_javascript(@blob.data)}");
   if (ace_mode) {
     editor.getSession().setMode('ace/mode/' + ace_mode);
   }