diff --git a/link.module b/link.module
index 1b421db..400bb15 100644
--- a/link.module
+++ b/link.module
@@ -752,6 +752,19 @@ function link_field_process($element, $form_state, $complete_form) {
 }
 
 /**
+ * Implementation of template_preprocess_form_element_label().
+ */
+function link_preprocess_form_element_label(&$vars) {
+  $element = &$vars['element'];
+  if ('link_field' == $element['#type']) {
+    if (isset($element['url']) && !isset($element['title'])) {
+      // Link label directly to the URL field.
+      $element['#id'] .= '-url';
+    }
+  }
+}
+
+/**
  * Implementation of hook_field_formatter_info().
  */
 function link_field_formatter_info() {
