<html>
    <body onload="runTest()">
        <style>
            a { position: relative; }
            span { position: absolute; }
        </style>
        <script>
            if (window.testRunner)
                testRunner.dumpAsText();

            function runTest()
            {
                document.body.offsetTop;
                child = document.getElementById('test');
                child.parentNode.removeChild(child);
                document.body.offsetTop;
                document.body.innerHTML = 'PASS';
            }
        </script>
        <script></script>
        <div><a><span>
            <table id="test">
            <isindex>
        </span></a></div>
    </body>
</html>

