 										if result.length > 0
 											clipTop()
 											for item in result
-												newItems.push (insert ++next, item)
+												insert ++next, item
 											#log "appended: requested #{bufferSize} received #{result.length} buffer size #{buffer.length} first #{first} next #{next}"
-										finalize(rid, newItems)
+										finalize rid, result.length > 0
 							else
 								if buffer.length && !shouldLoadTop()
 									finalize(rid)

											builder.bottomPadding(Math.max(0,builder.bottomPadding() - wrapper.element.outerHeight(true)))
										buffer.push wrapper
									else
										wrapper.doInsert = -> buffer[index-first].element.after clone
										buffer.splice index-first+1, 0, wrapper
								else
									wrapper.doInsert = ->

										break

						adjustBuffer = (rid, newItems, finalize)->
							if newItems
								$timeout ->
									prepended = []
									for wrapper in buffer
