         if (!arrow || (arrowDirection == ArrowDirection.NONE))
             return;
 
-        var isVertical:Boolean = (arrowDirection == ArrowDirection.UP)
-            || (arrowDirection == ArrowDirection.DOWN);
-
         var isStartPosition:Boolean = false;
         var isMiddlePosition:Boolean = false;
         var isEndPosition:Boolean = false;
 
-        var position:String = (isVertical) ? actualHorizontalPosition : actualVerticalPosition;
+        var position:String = (isArrowVertical) ? actualHorizontalPosition : actualVerticalPosition;
 
         isStartPosition = (position == CalloutPosition.START);
         isMiddlePosition = (position == CalloutPosition.MIDDLE);

                skin.invalidateProperties();
            }

            // Always reposition when horizontalPosition or verticalPosition
            // changes. This will reposition the callout.
            invalidateDisplayList();

            invalidateArrowState = false;
        }
    }


    //  arrowDirection
    //----------------------------------

    private var invalidateArrowDirection:Boolean = true;

    private var _arrowDirection:String = ArrowDirection.NONE;

