     @listenTo @model, "change:grey", @_build
     @listenTo @g.columns, "change:hidden", @_build
     @listenTo @model, "change:features", @_build
-    @listenTo @g.selcol, "add", @_build
+    @listenTo @g.selcol, "add", (sel, b) ->
+      if @g.selcol.getSelForRow(@model.get('id')).length isnt 0
+        @_appendSelection()
     @listenTo @g.selcol, "reset", @_build
     @listenTo @g.zoomer, "change", @_build
     @listenTo @g.colorscheme,"change", ->

    @listenTo @g.config, "change:registerMouseEvents", @manageEvents

  _build: ->
    console.log @model.get "id"
    dom.removeAllChilds @el

    seq = @model.get("seq")
    hidden = @g.columns.get "hidden"
    textVisible = @g.zoomer.get "textVisible"
    features = @model.get "features"
    selection = @_getSelection @model
    cellHeight = @g.zoomer.get "rowHeight"
    cellWidth = @g.zoomer.get "columnWidth"
    # get the status of the upper and lower row
    [mPrevSel,mNextSel] = @_getPrevNextSelection()

    for n in [0..seq.length - 1] by 1
      if hidden.indexOf(n) < 0

    width = (@g.zoomer.get("columnWidth") * selectionLength) + 1
    cHeight = @g.zoomer.get("rowHeight")
    s = svg.base height: 20, width: width
    s.type = "selection"
    s.style.position = "absolute"
    s.style.left = 0
    #s.style.marginLeft = -12
    y = 1
    y = 3 if noTopBorder
   # unless noTopBorder or noBottomBorder
