diff --git a/html5lib/tests/test_parser2.py b/html5lib/tests/test_parser2.py
index 0ec5b049..b7a92fd7 100644
--- a/html5lib/tests/test_parser2.py
+++ b/html5lib/tests/test_parser2.py
@@ -7,7 +7,7 @@
from . import support # noqa
from html5lib.constants import namespaces
-from html5lib import parse, HTMLParser
+from html5lib import parse, parseFragment, HTMLParser
# tests that aren't autogenerated from text files
@@ -88,3 +88,8 @@ def test_debug_log():
expected[i] = tuple(log)
assert parser.log == expected
+
+
+def test_no_duplicate_clone():
+ frag = parseFragment("")
+ assert len(frag) == 2
diff --git a/html5lib/treebuilders/etree.py b/html5lib/treebuilders/etree.py
index d394148d..4d12bd45 100644
--- a/html5lib/treebuilders/etree.py
+++ b/html5lib/treebuilders/etree.py
@@ -100,6 +100,7 @@ def insertBefore(self, node, refNode):
node.parent = self
def removeChild(self, node):
+ self._childNodes.remove(node)
self._element.remove(node._element)
node.parent = None