diff --git a/parser/html/nsHtml5TreeOperation.cpp b/parser/html/nsHtml5TreeOperation.cpp
index 0c1429d5b4dc..18fc7bff0b8c 100644
--- a/parser/html/nsHtml5TreeOperation.cpp
+++ b/parser/html/nsHtml5TreeOperation.cpp
@@ -645,6 +645,8 @@ void nsHtml5TreeOperation::SetFormElement(nsIContent* aNode,
"The form element doesn't implement HTMLFormElement.");
nsCOMPtr formControl(do_QueryInterface(aNode));
if (formControl &&
+ formControl->ControlType() !=
+ FormControlType::FormAssociatedCustomElement &&
!aNode->AsElement()->HasAttr(kNameSpaceID_None, nsGkAtoms::form)) {
formControl->SetForm(formElement);
} else if (HTMLImageElement* domImageElement =