     else
       @descriptionContainer.style.display = 'none'
 
-  itemsChanged: -> @render()
+  itemsChanged: ->
+    if @model?.items?.length
+      @render()
+    else
+      @returnItemsToPool(0)
 
   render: ->
     @selectedIndex = 0

      if descLength > longestDesc
        longestDesc = descLength
        longestDescIndex = index
    li.remove() while li = @ol.childNodes[items.length]
    @updateDescription(items[longestDescIndex])

  descriptionLength: (item) ->
    count = 0

  renderItem: ({iconHTML, type, snippet, text, displayText, className, replacementPrefix, leftLabel, leftLabelHTML, rightLabel, rightLabelHTML}, index) ->
    li = @ol.childNodes[index]
    unless li
      if @nodePool.length > 0
        li = @nodePool.pop()
      else
        li = document.createElement('li')
        li.innerHTML = ItemTemplate
      li.dataset.index = index
      @ol.appendChild(li)

