diff --git a/radio/lib/radio.ts b/radio/lib/radio.ts
index a7bafa3079..3c0d893e8b 100644
--- a/radio/lib/radio.ts
+++ b/radio/lib/radio.ts
@@ -18,6 +18,7 @@ import {dispatchActivationClick, isActivationClick, redispatchEvent} from '../..
import {SingleSelectionController} from './single-selection-controller.js';
const CHECKED = Symbol('checked');
+let maskId = 0;
/**
* A radio component.
@@ -34,6 +35,10 @@ export class Radio extends LitElement {
/** @nocollapse */
static formAssociated = true;
+ // Unique maskId is required because of a Safari bug that fail to persist
+ // reference to the mask. This should be removed once the bug is fixed.
+ private readonly maskId = `cutout${++maskId}`;
+
/**
* Whether or not the radio is selected.
*/
@@ -122,11 +127,11 @@ export class Radio extends LitElement {