diff --git a/link.module b/link.module
index 1e9d088..a1d065f 100644
--- a/link.module
+++ b/link.module
@@ -111,9 +111,9 @@ function link_field_instance_settings_form($field, $instance) {
 
   $form['title_value'] = array(
     '#type' => 'textfield',
-    '#title' => t('Static title'),
+    '#title' => t('Static or default title'),
     '#default_value' => isset($instance['settings']['title_value']) ? $instance['settings']['title_value'] : '',
-    '#description' => t('This title will always be used if &ldquo;Static Title&rdquo; is selected above.'),
+    '#description' => t('This title will 1) always be used if "Static Title" is selected above, or 2) used if "Optional title" is selected above and no title is entered when creating content.'),
   );
 
   $form['title_label_use_field_label'] = array(
@@ -551,9 +551,13 @@ function _link_sanitize(&$item, $delta, &$field, $instance, &$entity) {
     }
   }
   // Use the title defined by the user at the widget level.
-  elseif (isset($item['title'])) {
+  elseif (drupal_strlen(trim($item['title']))) {
     $title = $item['title'];
   }
+  // Use the static title if a user-defined title is optional and a static title has been defined.
+  elseif ($instance['settings']['title'] == 'optional' && drupal_strlen(trim($instance['settings']['title_value']))) {
+    $title = $instance['settings']['title_value'];
+  }
   else {
     $title = '';
   }
@@ -843,11 +847,17 @@ function link_field_process($element, $form_state, $complete_form) {
       $title_label = t('Title');
     }
 
+    // Prepare a description for the title field.
+    $title_description = t('The link title is limited to @maxlength characters maximum.', array('@maxlength' => $settings['title_maxlength']));
+    // If the title is optional and a static title has been defined, let the user know.
+    if ($instance['settings']['title'] == 'optional' && drupal_strlen(trim($instance['settings']['title_value']))) {
+      $title_description .= ' ' . t('If blank, "%default" will be used by default.', array('%default' => $instance['settings']['title_value']));
+    }
     $element['title'] = array(
       '#type' => 'textfield',
       '#maxlength' => $settings['title_maxlength'],
       '#title' => $title_label,
-      '#description' => t('The link title is limited to @maxlength characters maximum.', array('@maxlength' => $settings['title_maxlength'])),
+      '#description' => $title_description,
       '#required' => ($settings['title'] == 'required' && (($element['#delta'] == 0 && $element['#required']) || !empty($element['#value']['url']))) ? TRUE : FALSE,
       '#default_value' => isset($element['#value']['title']) ? $element['#value']['title'] : NULL,
     );
