                 else if target.dia in @activeDias then target
 
     if activeDia
-      lineColor  = options.lineColor  or \
-                   (activeDia.dia.getOption 'colorTag') or activeColor
-      lineDashes = options.lineDashes or \
-                   (activeDia.dia.getOption 'lineDashes') or lineDashes
+      lineColor  = options.lineColor  ? \
+                   (activeDia.dia.getOption 'colorTag') ? lineColorActive
+      lineDashes = options.lineDashes ? \
+                   (activeDia.dia.getOption 'lineDashes') ? lineDashes
 
     sJoint = source.dia.getJointPos source.joint
     tJoint = target.dia.getJointPos target.joint

    @realContext.strokeStyle = lineColor
    @realContext.setLineDash lineDashes  if lineDashes.length > 0

    @realContext.moveTo sJoint.x, sJoint.y

    cd = @getOption 'curveDistance'
    [sx, sy, tx, ty] = [0, 0, 0, 0]
    if source.joint in ["top", "bottom"]
      sy = if source.joint is "top" then -cd else cd
    else if source.joint in ["left", "right"]

    @realContext.bezierCurveTo(sJoint.x + sx, sJoint.y + sy, \
                               tJoint.x + tx, tJoint.y + ty, \
                               tJoint.x, tJoint.y)
    @realContext.lineWidth = lineWidth

    @realContext.stroke()

  addFakeConnection: (connection) ->

    @drawConnectionLine connection
    @fakeConnections.push connection

