diff --git a/app/assets/stylesheets/pages/diff.scss b/app/assets/stylesheets/pages/diff.scss
index 77d7a3024d596580410872b8e1e4d0ef4be97b63..183f22a1b249412f3837e6914bbbb4321c2641e1 100644
--- a/app/assets/stylesheets/pages/diff.scss
+++ b/app/assets/stylesheets/pages/diff.scss
@@ -67,17 +67,21 @@
         line-height: $code_line_height;
         font-size: $code_font_size;
 
-        &.noteable_line.old {
-          &:before {
-            content: '-';
-            position: absolute;
+        &.noteable_line {
+          position: relative;
+
+          &.old {
+            &:before {
+              content: '-';
+              position: absolute;
+            }
           }
-        }
 
-        &.noteable_line.new {
-          &:before {
-            content: '+';
-            position: absolute;
+          &.new {
+            &:before {
+              content: '+';
+              position: absolute;
+            }
           }
         }
 
diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb
index 0504cfb7591f7992145b1aed486fbb50296653e9..6a3ec83b8c0195ae30f93d507dab9c923d8b3755 100644
--- a/app/helpers/diff_helper.rb
+++ b/app/helpers/diff_helper.rb
@@ -44,9 +44,7 @@ module DiffHelper
     if line.blank?
       "  ".html_safe
     else
-      if line_type == 'new' || line_type == 'old'
-        line[0] = " "
-      end
+      line[0] = ' ' if %w[new old].include?(line_type)
       line
     end
   end
diff --git a/app/views/projects/blob/diff.html.haml b/app/views/projects/blob/diff.html.haml
index c6ed78aadf673a1c662c69682479bef57460a2d0..38e62c81fed95fe850fe616dfd7a897e9dc09b0e 100644
--- a/app/views/projects/blob/diff.html.haml
+++ b/app/views/projects/blob/diff.html.haml
@@ -1,20 +1,20 @@
 - if @lines.present?
   - if @form.unfold? && @form.since != 1 && !@form.bottom?
     %tr.line_holder{ id: @form.since }
-      = render "projects/diffs/match_line", {line: @match_line,
-        line_old: @form.since, line_new: @form.since, bottom: false, new_file: false}
+      = render "projects/diffs/match_line", { line: @match_line,
+        line_old: @form.since, line_new: @form.since, bottom: false, new_file: false }
 
   - @lines.each_with_index do |line, index|
     - line_new = index + @form.since
     - line_old = line_new - @form.offset
     %tr.line_holder
-      %td.old_line.diff-line-num{data: {linenumber: line_old}}
+      %td.old_line.diff-line-num{ data: { linenumber: line_old } }
         = link_to raw(line_old), "#"
-      %td.new_line.diff-line-num{data: {linenumber: line_old}}
+      %td.new_line.diff-line-num{ data: { linenumber: line_old } }
         = link_to raw(line_new) , "#"
       %td.line_content.noteable_line==#{' ' * @form.indent}#{line}
 
   - if @form.unfold? && @form.bottom? && @form.to < @blob.loc
     %tr.line_holder{ id: @form.to }
-      = render "projects/diffs/match_line", {line: @match_line,
-        line_old: @form.to, line_new: @form.to, bottom: true, new_file: false}
+      = render "projects/diffs/match_line", { line: @match_line,
+        line_old: @form.to, line_new: @form.to, bottom: true, new_file: false }
diff --git a/app/views/projects/diffs/_line.html.haml b/app/views/projects/diffs/_line.html.haml
index 6c5602acd43a8915aba4df1c46e1c48260dd7eab..107097ad9635b658498a5fff0ff072d0d24172ce 100644
--- a/app/views/projects/diffs/_line.html.haml
+++ b/app/views/projects/diffs/_line.html.haml
@@ -1,26 +1,26 @@
 - type = line.type
-%tr.line_holder{id: line_code, class: type}
+%tr.line_holder{ id: line_code, class: type }
   - case type
   - when 'match'
-    = render "projects/diffs/match_line", {line: line.text,
-      line_old: line.old_pos, line_new: line.new_pos, bottom: false, new_file: diff_file.new_file}
+    = render "projects/diffs/match_line", { line: line.text,
+      line_old: line.old_pos, line_new: line.new_pos, bottom: false, new_file: diff_file.new_file }
   - when 'nonewline'
     %td.old_line.diff-line-num
     %td.new_line.diff-line-num
     %td.line_content.match= line.text
   - else
-    %td.old_line.diff-line-num{class: type, data: {linenumber: line.new_pos}}
-      - link_text = raw(type == "new" ? "&nbsp;" : line.old_pos)
+    %td.old_line.diff-line-num{ class: type, data: { linenumber: line.new_pos } }
+      - link_text = type == "new" ? "&nbsp;".html_safe : line.old_pos
       - if defined?(plain) && plain
         = link_text
       - else
         = link_to "", "##{line_code}", id: line_code, data: { linenumber: link_text }
       - if @comments_allowed && can?(current_user, :create_note, @project)
         = link_to_new_diff_note(line_code)
-    %td.new_line.diff-line-num{class: type, data: {linenumber: line.new_pos}}
-      - link_text = raw(type == "old" ? "&nbsp;" : line.new_pos)
+    %td.new_line.diff-line-num{ class: type, data: { linenumber: line.new_pos } }
+      - link_text = type == "old" ? "&nbsp;".html_safe : line.new_pos
       - if defined?(plain) && plain
         = link_text
       - else
         = link_to "", "##{line_code}", id: line_code, data: { linenumber: link_text }
-    %td.line_content{class: "noteable_line #{type} #{line_code}", data: { line_code: line_code }}= diff_line_content(line.text, type)
+    %td.line_content{ class: ['noteable_line', type, line_code], data: { line_code: line_code } }= diff_line_content(line.text, type)
diff --git a/app/views/projects/notes/discussions/_diff.html.haml b/app/views/projects/notes/discussions/_diff.html.haml
index 9fd9d5bb2aa8c4da3ca6ab48651b692eb6dae8de..d46aab000c37560c75b28b38eacfa00218d9ae0d 100644
--- a/app/views/projects/notes/discussions/_diff.html.haml
+++ b/app/views/projects/notes/discussions/_diff.html.haml
@@ -20,9 +20,9 @@
               %td.new_line.diff-line-num= "..."
               %td.line_content.match= line.text
             - else
-              %td.old_line.diff-line-num{data: {linenumber: raw(type == "new" ? "&nbsp;" : line.old_pos)}}
-              %td.new_line.diff-line-num{data: {linenumber: raw(type == "old" ? "&nbsp;" : line.new_pos)}}
-              %td.line_content{class: "noteable_line #{type} #{line_code}", line_code: line_code}= diff_line_content(line.text, type)
+              %td.old_line.diff-line-num{ data: { linenumber: type == "new" ? "&nbsp;".html_safe : line.old_pos } }
+              %td.new_line.diff-line-num{ data: { linenumber: type == "old" ? "&nbsp;".html_safe : line.new_pos } }
+              %td.line_content{ class: ['noteable_line', type, line_code], line_code: line_code }= diff_line_content(line.text, type)
 
               - if line_code == note.line_code
                 = render "projects/notes/diff_notes_with_reply", notes: discussion_notes