 				text1=labelFunction(displayValue);
 			else text1=displayValue.toString();
 			
-			if(xAxis)
-			{
-				yPoint.x = bounds.getXCenter();
-				yPoint.y = _yAxisLayer.axisPlotter.axisLineMinValue.value;
-			} else if( horizontalMode)
-			{
-				yPoint.x = bounds.getXMax() ;
-				yPoint.y = _yAxisLayer.axisPlotter.axisLineMinValue.value;
-			} else if(!xAxis && !horizontalMode)
+			if(xAxis || useXMax)
+			{
+				yPoint.x = (xAxis) ? bounds.getXCenter() : bounds.getXMax();
+				yPoint.y = _yAxisLayer.axisPlotter.axisLineMinValue.value;					
+			} else
 			{
 				yPoint.x = _xAxisLayer.axisPlotter.axisLineMinValue.value;
 				yPoint.y = bounds.getYMax() ;

			tempDataBounds.projectPointTo(yPoint, tempScreenBounds);
			yPoint = localToGlobal(yPoint);
			
			if(!xAxis && !horizontalMode)
			{
				yAxisTooltip = ToolTipManager.createToolTip(text1, yPoint.x, yPoint.y);
				yAxisTooltip.move(yAxisTooltip.x-yAxisTooltip.width, yAxisTooltip.y-(yAxisTooltip.height/2));
				constrainTooltipToStage();
			} else
			{
				xAxisTooltip = ToolTipManager.createToolTip(text1, yPoint.x, yPoint.y);
				xAxisTooltip.move(xAxisTooltip.x-(xAxisTooltip.width/2),xAxisTooltip.y);
				constrainTooltipToStage();
			}
			setProbeToolTipAppearance();

			else yAxisTooltipPtr = null;
			if( xAxisTooltip != null )
			{
				var xMax:Number = stage.stageWidth- (xAxisTooltip.width/2);
				var xMaxTooltip:Number = xAxisTooltip.x+(xAxisTooltip.width/2);
				if(xMaxTooltip > xMax) {
					xAxisTooltip.move(xMax-(xAxisTooltip.width/2),xAxisTooltip.y);				
				}
				xAxisTooltipPtr = xAxisTooltip;
			}
