         // If preferred position was AUTO, then allow maxWidth to grow to
         // fit the interior position if the owner is wide
         if ((horizontalPosition == CalloutPosition.AUTO) &&
-            (ownerBounds.width > calloutMaxWidth))
-            calloutMaxWidth += ownerBounds.width;
+            (ownerBounds.width > maxW))
+            maxW += ownerBounds.width;
         
         switch (actualVerticalPosition)
         {
             case CalloutPosition.MIDDLE:
             {
                 // Callout matches screen height
-                calloutMaxHeight = screen.height - (margin * 2);
+                maxH = screen.height - (margin * 2);
                 break;
             }
             case CalloutPosition.START:

        var ownerWidth:Number = (ownerVisualElement) ? ownerVisualElement.getLayoutBoundsWidth() : owner.width;
        var ownerHeight:Number = (ownerVisualElement) ? ownerVisualElement.getLayoutBoundsHeight() : owner.height;
        var calloutWidth:Number = getLayoutBoundsWidth();
        var calloutHeight:Number = getLayoutBoundsHeight();

        switch (horizontalPos)
        {

        // If preferred position was AUTO, then allow maxHeight to grow to
        // fit the interior position if the owner is tall
        if ((verticalPosition == CalloutPosition.AUTO) && 
            (ownerBounds.height > maxH))
            maxH += ownerBounds.height;
        
        calloutMaxWidth = maxW;
        calloutMaxHeight = maxH;
    }

    /**
