 							for wrapper in toBePrepended
 								builder.insertElement wrapper.element
 								wrapper.op = 'none'
+								keepFetching = keepFetching || wrapper.element.outerHeight(true)
 							heightIncrement = builder.bottomDataPos() - bottomPos
 							# adjust padding to prevent it from visually pushing everything down
 							if builder.topPadding() >= heightIncrement

							when 'append' then buffer.push wrapper
							when 'prepend' then buffer.unshift wrapper

				adjustBuffer = (rid, finalize) ->

					promises = []
					toBePrepended = []

						item.scope.$index = first + i for item,i in buffer

						#log "top {actual=#{builder.topDataPos()} visible from=#{topVisiblePos()} bottom {visible through=#{bottomVisiblePos()} actual=#{builder.bottomDataPos()}}"

						if shouldLoadBottom()
							# keepFetching = true means that at least one item app/prepended in the last batch had height > 0
							# !adjustAfterFetch = false means that this is chained fetch (a fetch after another fetch)
							enqueueFetch(rid, true) if !adjustAfterFetch || keepFetching
						else
							if shouldLoadTop()
								# pending[0] = true means that previous fetch was at the bottom we need to force at least one at the top
								# BTW there will always be at least 1 element in the pending array because bottom is fetched first
								enqueueFetch(rid, false) if !adjustAfterFetch || keepFetching || pending[0]

						adjustAfterFetch(rid) if adjustAfterFetch

						#topVisible is not necessarily the first item in the buffer
						if pending.length == 0
