No, the returned list and its iterator are live, so Iterator.remove() should be removing the child from the parent Element (at least in beta 8 or later). Have you put in printouts, to make sure that the remove() method is actually being called? Alex