diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs
index 3de2f11e2e6..91034fd4423 100644
--- a/components/script/dom/htmlcollection.rs
+++ b/components/script/dom/htmlcollection.rs
@@ -62,7 +62,10 @@ impl HTMLCollection {
namespace_filter: Option
}
impl CollectionFilter for AllElementFilter {
- fn filter(&self, elem: JSRef, _root: JSRef) -> bool {
+ fn filter(&self, elem: JSRef, root: JSRef) -> bool {
+ if NodeCast::from_ref(elem) == root {
+ return false
+ }
match self.namespace_filter {
None => true,
Some(ref namespace) => *elem.namespace() == *namespace
diff --git a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
index 0c16bb96d96..e7df74ba227 100644
--- a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
+++ b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
@@ -5,7 +5,3 @@
[hasOwnProperty, getOwnPropertyDescriptor, getOwnPropertyNames]
expected: FAIL
-
- [getElementsByTagName(\'*\')]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini
deleted file mode 100644
index 9cfcb9a43cc..00000000000
--- a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[Element-getElementsByTagNameNS.html]
- type: testharness
- [getElementsByTagNameNS(\'http://www.w3.org/1999/xhtml\', \'*\')]
- expected: FAIL
-
- [getElementsByTagNameNS(\'*\', \'*\')]
- expected: FAIL