diff --git a/includes/common.inc b/includes/common.inc
index 6cdd22b..c7d93fa 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -6498,7 +6498,7 @@ function drupal_common_theme() {
       'variables' => array('url' => NULL, 'title' => NULL),
     ),
     'more_link' => array(
-      'variables' => array('url' => NULL, 'title' => NULL)
+      'variables' => array('url' => NULL, 'title' => NULL, 'options' => array()),
     ),
     'username' => array(
       'variables' => array('account' => NULL),
diff --git a/includes/theme.inc b/includes/theme.inc
index 97a6093..9f9c854 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -2066,9 +2066,17 @@ function theme_html_tag($variables) {
  *   An associative array containing:
  *   - url: The url of the main page.
  *   - title: A descriptive verb for the link, like 'Read more'.
+ *   - options: A url()-compatible options array
+ *
+ *   The "title" variable, if not empty, overrides any title attribute in the
+ *   "options" array.
  */
 function theme_more_link($variables) {
-  return '<div class="more-link">' . l(t('More'), $variables['url'], array('attributes' => array('title' => $variables['title']))) . '</div>';
+  $options = $variables['options'];
+  if (!empty($variables['title'])) {
+    $options['attributes']['title'] = $variables['title'];
+  }
+  return '<div class="more-link">' . l(t('More'), $variables['url'], $options) . '</div>';
 }
 
 /**
