       markerRange.end = @aceDoc.createAnchor markerRange.end
       markerRange.id = @aceSession.addMarker markerRange, clazz, markerType
       @markerRanges.push markerRange
-      @aceSession.addGutterDecoration start.row, clazz 
+      if executedRows[start.row] and @decoratedGutter[start.row] isnt clazz
+        @aceSession.removeGutterDecoration start.row, @decoratedGutter[start.row] if @decoratedGutter isnt ''
+        @aceSession.addGutterDecoration start.row, clazz
+        @decoratedGutter[start.row] = clazz
     @debugView.setVariableStates {} unless gotVariableStates
     null
 

    flow ?= @spellThang?.castAether?.flow
    return unless flow
    executed = []
    matched = false
    states = flow.states ? []
    currentCallIndex = null

      markerRange.end.detach()
      @aceSession.removeMarker markerRange.id
    @markerRanges = []
    for row in [0 ... @aceSession.getLength()]
      unless executedRows[row]
        @aceSession.removeGutterDecoration row, 'executing'
        @aceSession.removeGutterDecoration row, 'executed'
        @decoratedGutter[row] = ''
    if not executed.length or (@spell.name is "plan" and @spellThang.castAether.metrics.statementsExecuted < 20)
      @toolbarView?.toggleFlow false
      @debugView.setVariableStates {}
