diff --git a/core/includes/form.inc b/core/includes/form.inc
index fa565fb..779457e 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -4719,7 +4719,12 @@ function theme_form_element($variables) {
}
$prefix = isset($element['#field_prefix']) ? '' . $element['#field_prefix'] . ' ' : '';
$suffix = isset($element['#field_suffix']) ? ' ' . $element['#field_suffix'] . '' : '';
- $form_element_label = array('#theme' => 'form_element_label') + $element;
+ $form_element_label = array('#theme' => 'form_element_label');
+ foreach (array('#title', '#title_display', '#required', '#id') as $key) {
+ if (isset($element[$key]) || array_key_exists($key, $element)) {
+ $form_element_label[$key] = $element[$key];
+ }
+ }
switch ($element['#title_display']) {
case 'before':