function doStuff() { var svg = document.documentElement; var ellipse = document.getElementById("ellipse"); var filter = document.getElementById("filter"); document.addEventListener("DOMNodeRemoved", foopy, false); filter.removeChild(filter.firstChild); document.removeEventListener("DOMNodeRemoved", foopy, false); function foopy() { document.removeEventListener("DOMNodeRemoved", foopy, false); svg.appendChild(filter); } // Needed for the crash, but not for the assertion. svg.appendChild(ellipse); document.documentElement.removeAttribute("class"); }