 
         var isHorizontal:Boolean = (_direction == SliderDirection.HORIZONTAL);
         var numLabels:int = labelObjects ? labelObjects.numChildren : 0;
-        var numThumbs:int = thumbs ? thumbs.numChildren : 0;
         var trackMargin:Number = getStyle("trackMargin");
-        var widestThumb:Number = 6;
-        var firstThumb:SliderThumb = SliderThumb(thumbs.getChildAt(0));
-        if (thumbs && firstThumb)
-            widestThumb = firstThumb.getExplicitOrMeasuredWidth();
-
-        var trackLeftOffset:Number = widestThumb / 2; // Enough space for the thumb to rest at the edges
+		var firstThumbWidth:Number = 6;
+		var firstThumbHeight:Number = 0;
+        var firstThumb:SliderThumb;
+		
+		if (thumbs && thumbs.numChildren > 0)
+			firstThumb = SliderThumb(thumbs.getChildAt(0));
+		
+        if (thumbs && firstThumb) {
+			firstThumbWidth = firstThumb.getExplicitOrMeasuredWidth();
+			firstThumbHeight = firstThumb.getExplicitOrMeasuredHeight();
+		}
+
+        var trackLeftOffset:Number = firstThumbWidth / 2; // Enough space for the thumb to rest at the edges
         var trackRightOffset:Number = trackLeftOffset;
 
         var availSpace:Number;

            tLength = getStyle("tickLength");
        g.clear();      
        g.beginFill(0,0);
        var fullThumbHeight:Number = firstThumb.getExplicitOrMeasuredHeight();
        var halfThumbHeight:Number = (!fullThumbHeight) ? 0 : (fullThumbHeight / 2);
        g.drawRect(track.x, 
                track.y - halfThumbHeight - tLength, 
                track.width, 
                track.height + fullThumbHeight + tLength);
        g.endFill();

        if (_direction != SliderDirection.HORIZONTAL)


        // Layout the thumbs' y positions.
        var tY:Number = track.y +
                        (track.height - firstThumbHeight) / 2 +
                        getStyle("thumbOffset");

        var n:int = _thumbCount;
