diff --git a/core/misc/states.js b/core/misc/states.js
index 680e86e..f695d22 100644
--- a/core/misc/states.js
+++ b/core/misc/states.js
@@ -519,8 +519,9 @@
 
   $(document).on('state:required', function (e) {
     if (e.trigger) {
+      var label = 'label' + (e.target.id ? '[for=' + e.target.id + ']' : '');
       if (e.value) {
-        var $label = $(e.target).attr({'required': 'required', 'aria-required': 'aria-required'}).closest('.form-item, .form-wrapper').find('label');
+        var $label = $(e.target).attr({'required': 'required', 'aria-required': 'aria-required'}).closest('.form-item, .form-wrapper').find(label);
         // Avoids duplicate required markers on initialization.
         if (!$label.hasClass('form-required').length) {
           $label.addClass('form-required');
