diff --git a/core/includes/form.inc b/core/includes/form.inc
index 5c0c5cf..e087b21 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -2797,8 +2797,10 @@ function template_preprocess_form_element(&$variables) {
 
   // Add label_display and label variables to template.
   $variables['label_display'] = $element['#title_display'];
-  $variables['label'] = array('#theme' => 'form_element_label');
-  $variables['label'] += array_intersect_key($element, array_flip(array('#id', '#required', '#title', '#title_display')));
+  $variables['label'] = array(
+    '#theme' => 'form_element_label',
+    '#element' => $element,
+  );
 
   $variables['children'] = $element['#children'];
 }
