 			else yAxisTooltipPtr = null;
 			if( xAxisTooltip != null )
 			{
-				var xMax:Number = stage.stageWidth - xAxisTooltip.width;
-				var xMaxTooltip:Number = xAxisTooltip.x+xAxisTooltip.width;
-				while( xMaxTooltip > xMax)
-				{
-					xAxisTooltip.move(--xAxisTooltip.x, xAxisTooltip.y);
-					xMaxTooltip = xAxisTooltip.x+xAxisTooltip.width;
+				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;
 			}

		 * @param bounds data bounds from a record key
		 * @param labelFunction function to generate strings from the displayValue
		 * @param xAxis flag to specify whether this is an xAxis tooltip
		 * @param horizontalMode flag to specify bar chart horizontal mode
		 * 
		 */
		public function showProbeTooltips(displayValue:Number,bounds:IBounds2D,labelFunction:Function,xAxis:Boolean=false, horizontalMode:Boolean=false):void
		{
			var yPoint:Point = new Point();
			var text1:String = "";

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