           break
 
 Editor::redrawLassoHighlight = ->
+  mainCanvasRectangle = new @draw.Rectangle(
+    @scrollOffsets.main.x,
+    @scrollOffsets.main.y,
+    @mainCanvas.width,
+    @mainCanvas.height
+  )
+
+  # Remove any existing selections
+  tree = @view.getViewNodeFor @tree
+  tree.draw mainCanvasRectangle, {selected: false}
+
   if @lassoSelection?
-    mainCanvasRectangle = new @draw.Rectangle(
-      @scrollOffsets.main.x,
-      @scrollOffsets.main.y,
-      @mainCanvas.width,
-      @mainCanvas.height
-    )
+    # Add any new selections
     lassoView = @view.getViewNodeFor(@lassoSelection)
     lassoView.absorbCache()
     lassoView.draw mainCanvasRectangle, {selected: true}

        return true
      else
        @lassoSelection = null
        return false

    unless @lassoSelectionDocument? and findLassoSelect @lassoSelectionDocument

  # jammed up against the edge of the screen.
  #
  # Default this extra space to fontSize (approx. 1 line).
  height = Math.max(
    bounds.bottom() + (@options.extraBottomHeight ? @fontSize),
    @dropletElement.offsetHeight
  )

  @mainCanvas.setAttribute 'height', height
  @mainCanvas.style.height = "#{height}px"
