diff --git a/content/html/content/src/nsHTMLInputElement.cpp b/content/html/content/src/nsHTMLInputElement.cpp
index 43116453e645..95eb51021182 100644
--- a/content/html/content/src/nsHTMLInputElement.cpp
+++ b/content/html/content/src/nsHTMLInputElement.cpp
@@ -1117,7 +1117,7 @@ nsHTMLInputElement::GetList(nsIDOMHTMLElement** aValue)
if (doc) {
Element* elem = doc->GetElementById(dataListId);
- if (elem) {
+ if (elem && elem->IsHTML(nsGkAtoms::datalist)) {
CallQueryInterface(elem, aValue);
return NS_OK;
}