diff --git a/includes/media.fields.inc b/includes/media.fields.inc
index 25317d4..7551d45 100644
--- a/includes/media.fields.inc
+++ b/includes/media.fields.inc
@@ -169,6 +169,11 @@ function media_field_widget_form(&$form, &$form_state, $field, $instance, $langc
     ),
   );
 
+  if ($field['cardinality'] != 1) {
+    $element['#title'] = check_plain($instance['label']);
+    $element['#title_display'] = 'invisible';
+  }
+
   if ($field['type'] == 'file') {
     $element['display'] = array(
       '#type' => 'value',
diff --git a/media.module b/media.module
index fd59789..206ce4c 100644
--- a/media.module
+++ b/media.module
@@ -916,11 +916,13 @@ function media_element_process(&$element, &$form_state, $form) {
   $element['title'] = array(
     '#type' => 'item',
     '#title' => $element['#title'],
-    '#markup' => '',
     '#description' => $element['#description'],
     '#required' => $element['#required'],
     '#weight' => -100,
   );
+  if (isset($element['#title_display'])) {
+    $element['title']['#title_display'] = $element['#title_display'];
+  }
 
   // @todo This should load from the JS in case of a failed form submission.
   $element['preview'] = array(
