             else
                 PopUpManager.bringToFront(_popUp);
 
-            point = _popUp.parent.globalToLocal(point);
-
-            if (point.y + _popUp.height > screen.height && point.y > (height + _popUp.height))
+            if (point.y + _popUp.height > screen.bottom && 
+                point.y > (screen.top + height + _popUp.height))
             { 
                 // PopUp will go below the bottom of the stage
                 // and be clipped. Instead, have it grow up.

package mx.controls
{

import flash.display.DisplayObjectContainer;
import flash.events.Event;
import flash.events.FocusEvent;


            point = _popUp.parent.globalToLocal(point);

            endY = (point.y + _popUp.height > screen.bottom && 
                               point.y > (screen.top + height + _popUp.height)
                               ? -_popUp.height - 2
                               : _popUp.height + 2);
            initY = 0;
