diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index 03c3bf83d0c..8a0fa78887e 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -861,10 +861,6 @@ impl VirtualMethods for HTMLInputElement {
}
if event.type_() == atom!("click") && !event.DefaultPrevented() {
- if let InputType::InputRadio = self.input_type.get() {
- self.update_checked_state(true, true);
- }
-
// TODO: Dispatch events for non activatable inputs
// https://html.spec.whatwg.org/multipage/#common-input-element-events
diff --git a/components/script/dom/htmllabelelement.rs b/components/script/dom/htmllabelelement.rs
index 7042b98f0d7..90d4a16b86e 100644
--- a/components/script/dom/htmllabelelement.rs
+++ b/components/script/dom/htmllabelelement.rs
@@ -63,12 +63,15 @@ impl Activatable for HTMLLabelElement {
// https://html.spec.whatwg.org/multipage/#run-post-click-activation-steps
fn activation_behavior(&self, _event: &Event, _target: &EventTarget) {
- synthetic_click_activation(self.upcast::(),
- false,
- false,
- false,
- false,
- ActivationSource::NotFromClick);
+ if let Some(e) = self.GetControl() {
+ let elem = e.upcast::();
+ synthetic_click_activation(elem,
+ false,
+ false,
+ false,
+ false,
+ ActivationSource::NotFromClick);
+ }
}
// https://html.spec.whatwg.org/multipage/#implicit-submission