         
         // Note, root will be "null" if the displayObject is off the display list. In particular,
         // during start-up, before applicationComplete is dispatched, root will be null.
-        // Note that getConcatenatedMatrixHelper() with excludeRootSprite == true will still work
+        // Note that getConcatenatedMatrixHelper() with topParent == sandboxRoot will still work
         // correctly in those cases as we use ".$parent" to walk up the parent chain and during start-up
         // $parent will be null for the application before applicationComplete has been dispatched.
-        var root:DisplayObject = displayObject.root;
         
         if (fakeDollarParent == null)
             fakeDollarParent = new QName(mx_internal, "$parent");

        if ($transformProperty == null)
            $transformProperty = new QName(mx_internal, "$transform");
        
        while (displayObject && displayObject.transform.matrix && (!excludingRootSprite || displayObject != root))
        {            
            var scrollRect:Rectangle = displayObject.scrollRect;
            if (scrollRect != null)

     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public static function getConcatenatedMatrix(displayObject:DisplayObject, topParent:DisplayObject):Matrix
    {
        return getConcatenatedMatrixHelper(displayObject, false, topParent);
    }
    
    /**
