 					buffer.bof = false
 					buffer.remove(0, overage)
 					buffer.first += overage
-					viewport.adjustPadding()
-					viewport.adjustScrollTop { height: heightIncrement, clipTop: true }
 
 			calculateAverageItemHeight = () ->
 				viewport.averageItemHeight = 0

			viewport.adjustScrollTop = (options) ->
				return if not options or not options.height
				# edge case 1, scroll up from the very top position
				if options.prepend and viewport.scrollTop() < options.height
					viewport.scrollTop viewport.scrollTop() + options.height
				# edge case 2, scroll down from the very bottom position
				if options.clipTop and options.height - bottomPadding.height() > 0
					viewport.scrollTop viewport.scrollTop() + options.height - bottomPadding.height()

			viewport


					buffer.eof = false
					buffer.remove(buffer.length - overage, buffer.length)
					buffer.next -= overage

			viewport.shouldLoadTop = ->
				!buffer.bof && (viewport.topDataPos() > viewport.topVisiblePos() - bufferPadding())
