diff --git a/app/assets/javascripts/diff.js.coffee b/app/assets/javascripts/diff.js.coffee
index b0b312e7749dafed227155a08126840493c1404d..05f5af425716719c6986f6544d006e67956c9f10 100644
--- a/app/assets/javascripts/diff.js.coffee
+++ b/app/assets/javascripts/diff.js.coffee
@@ -1,6 +1,7 @@
 class @Diff
   UNFOLD_COUNT = 20
   constructor: ->
+    $(document).off('click', '.js-unfold')
     $(document).on('click', '.js-unfold', (event) =>
       target = $(event.target)
       unfoldBottom = target.hasClass('js-unfold-bottom')
@@ -36,7 +37,7 @@ class @Diff
       )
     )
 
-    $('.diff-header').stick_in_parent(offset_top: $('.navbar').height())
+    $('.diff-header').stick_in_parent(recalc_every: 1, offset_top: $('.navbar').height())
 
   lineNumbers: (line) ->
     return ([0, 0]) unless line.children().length
diff --git a/app/assets/javascripts/merge_request.js.coffee b/app/assets/javascripts/merge_request.js.coffee
index 757592842ebc8eb45bc8dac2321944b95bc1e5d7..805bf0203cb683cb6bc40e42f98a15ce15c500d7 100644
--- a/app/assets/javascripts/merge_request.js.coffee
+++ b/app/assets/javascripts/merge_request.js.coffee
@@ -95,6 +95,7 @@ class @MergeRequest
         this.$('.merge-request-tabs .diffs-tab').addClass 'active'
         this.loadDiff() unless @diffs_loaded
         this.$('.diffs').show()
+        $(".diff-header").trigger("sticky_kit:recalc")
       when 'commits'
         this.$('.merge-request-tabs .commits-tab').addClass 'active'
         this.$('.commits').show()