      */
     override public function updatePopUpPosition():void
     {
-        if (!owner)
+        if (!owner || !systemManager)
             return;
         
         var popUpPoint:Point = calculatePopUpPosition();

                // Add owner offset
                if (ownerX > 0)
                    arrowX += Math.abs(ownerX - getLayoutBoundsX());
            }
            
            // arrow should not extend past the callout bounds

            }
            case CalloutPosition.MIDDLE:
            {
                registrationPoint.y = Math.floor((ownerHeight - calloutHeight) / 2);
                break;
            }
            case CalloutPosition.END:
            {
                // The ends of the owner and callout are aligned
                registrationPoint.y = (ownerHeight - calloutHeight);
                break;
            }
            default: //case CalloutPosition.AFTER:
