diff --git a/core/includes/common.inc b/core/includes/common.inc
index 7ce1994..4600df2 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -5567,7 +5567,7 @@ function drupal_pre_render_conditional_comments($elements) {
  * @param $elements
  *   A structured array whose keys form the arguments to l():
  *   - #title: The link text to pass as argument to l().
- *   - #href: The URL path component to pass as argument to l().
+ *   - #path: The URL path component to pass as argument to l().
  *   - #options: (optional) An array of options to pass to l().
  *
  * @return
@@ -5603,13 +5603,13 @@ function drupal_pre_render_link($element) {
     }
     // If #ajax['path] was not specified, use the href as Ajax request URL.
     if (!isset($element['#ajax']['path'])) {
-      $element['#ajax']['path'] = $element['#href'];
+      $element['#ajax']['path'] = $element['#path'];
       $element['#ajax']['options'] = $element['#options'];
     }
     $element = ajax_pre_render_element($element);
   }
 
-  $element['#markup'] = l($element['#title'], $element['#href'], $element['#options']);
+  $element['#markup'] = l($element['#title'], $element['#path'], $element['#options']);
   return $element;
 }
 
diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index 2121619..a68b760 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -1048,7 +1048,7 @@ function menu_tree_output($tree) {
     $element['#theme'] = 'menu_link__' . strtr($data['link']['menu_name'], '-', '_');
     $element['#attributes']['class'] = $class;
     $element['#title'] = $data['link']['title'];
-    $element['#href'] = $data['link']['href'];
+    $element['#path'] = $data['link']['href'];
     $element['#localized_options'] = !empty($data['link']['localized_options']) ? $data['link']['localized_options'] : array();
     $element['#below'] = $data['below'] ? menu_tree_output($data['below']) : $data['below'];
     $element['#original_link'] = $data['link'];
@@ -1613,7 +1613,7 @@ function theme_menu_link(array $variables) {
   if ($element['#below']) {
     $sub_menu = drupal_render($element['#below']);
   }
-  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
+  $output = l($element['#title'], $element['#path'], $element['#localized_options']);
   return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
 }
 
diff --git a/core/modules/block/block.admin.inc b/core/modules/block/block.admin.inc
index 8a5553d..12fb034 100644
--- a/core/modules/block/block.admin.inc
+++ b/core/modules/block/block.admin.inc
@@ -149,13 +149,13 @@ function block_admin_display_form($form, &$form_state, $blocks, $theme, $block_r
     $form['blocks'][$key]['configure'] = array(
       '#type' => 'link',
       '#title' => t('configure'),
-      '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
+      '#path' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
     );
     if ($block['module'] == 'block') {
       $form['blocks'][$key]['delete'] = array(
         '#type' => 'link',
         '#title' => t('delete'),
-        '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
+        '#path' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
      );
     }
   }
diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index 25bd3b1..db1a8b9 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -306,7 +306,7 @@ function block_page_build(&$page) {
       $page['page_top']['backlink'] = array(
         '#type' => 'link',
         '#title' => t('Exit block region demonstration'),
-        '#href' => 'admin/structure/block' . (variable_get('theme_default', 'stark') == $theme ? '' : '/list/' . $theme),
+        '#path' => 'admin/structure/block' . (variable_get('theme_default', 'stark') == $theme ? '' : '/list/' . $theme),
         // Add the "overlay-restore" class to indicate this link should restore
         // the context in which the region demonstration page was opened.
         '#options' => array('attributes' => array('class' => array('block-demo-backlink', 'overlay-restore'))),
diff --git a/core/modules/comment/comment.admin.inc b/core/modules/comment/comment.admin.inc
index c0f92d9..c3afeb6 100644
--- a/core/modules/comment/comment.admin.inc
+++ b/core/modules/comment/comment.admin.inc
@@ -110,7 +110,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
         'data' => array(
           '#type' => 'link',
           '#title' => $comment->subject,
-          '#href' => 'comment/' . $comment->cid,
+          '#path' => 'comment/' . $comment->cid,
           '#options' => array('attributes' => array('title' => truncate_utf8($comment->comment_body[LANGUAGE_NOT_SPECIFIED][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
         ),
       ),
@@ -119,7 +119,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
         'data' => array(
           '#type' => 'link',
           '#title' => $comment->node_title,
-          '#href' => 'node/' . $comment->nid,
+          '#path' => 'node/' . $comment->nid,
         ),
       ),
       'changed' => format_date($comment->changed, 'short'),
@@ -127,7 +127,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
         'data' => array(
           '#type' => 'link',
           '#title' => t('edit'),
-          '#href' => 'comment/' . $comment->cid . '/edit',
+          '#path' => 'comment/' . $comment->cid . '/edit',
           '#options' => array('query' => $destination),
         ),
       ),
diff --git a/core/modules/dashboard/dashboard.module b/core/modules/dashboard/dashboard.module
index 889af83..6540673 100644
--- a/core/modules/dashboard/dashboard.module
+++ b/core/modules/dashboard/dashboard.module
@@ -381,10 +381,10 @@ function dashboard_form_dashboard_admin_display_form_alter(&$form, &$form_state)
   // Redirect the 'configure' and 'delete' links on each block back to the
   // dashboard blocks administration page.
   foreach ($form['blocks'] as &$block) {
-    if (isset($block['configure']['#href'])) {
+    if (isset($block['configure']['#path'])) {
       $block['configure']['#options']['query']['destination'] = 'admin/dashboard/configure';
     }
-    if (isset($block['delete']['#href'])) {
+    if (isset($block['delete']['#path'])) {
       $block['delete']['#options']['query']['destination'] = 'admin/dashboard/configure';
     }
   }
diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc
index c22fe21..993b351 100644
--- a/core/modules/field_ui/field_ui.admin.inc
+++ b/core/modules/field_ui/field_ui.admin.inc
@@ -381,25 +381,25 @@ function field_ui_field_overview_form($form, &$form_state, $entity_type, $bundle
       'type' => array(
         '#type' => 'link',
         '#title' => t($field_types[$field['type']]['label']),
-        '#href' => $admin_field_path . '/field-settings',
+        '#path' => $admin_field_path . '/field-settings',
         '#options' => array('attributes' => array('title' => t('Edit field settings.'))),
       ),
       'widget_type' => array(
         '#type' => 'link',
         '#title' => t($widget_types[$instance['widget']['type']]['label']),
-        '#href' => $admin_field_path . '/widget-type',
+        '#path' => $admin_field_path . '/widget-type',
         '#options' => array('attributes' => array('title' => t('Change widget type.'))),
       ),
       'edit' => array(
         '#type' => 'link',
         '#title' => t('edit'),
-        '#href' => $admin_field_path,
+        '#path' => $admin_field_path,
         '#options' => array('attributes' => array('title' => t('Edit instance settings.'))),
       ),
       'delete' => array(
         '#type' => 'link',
         '#title' => t('delete'),
-        '#href' => $admin_field_path . '/delete',
+        '#path' => $admin_field_path . '/delete',
         '#options' => array('attributes' => array('title' => t('Delete instance.'))),
       ),
     );
diff --git a/core/modules/filter/filter.admin.inc b/core/modules/filter/filter.admin.inc
index b4a7008..e8cced1 100644
--- a/core/modules/filter/filter.admin.inc
+++ b/core/modules/filter/filter.admin.inc
@@ -31,8 +31,8 @@ function filter_admin_overview($form) {
       $roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format');
     }
     $form['formats'][$id]['roles'] = array('#markup' => $roles_markup);
-    $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id);
-    $form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#href' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']);
+    $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#path' => 'admin/config/content/formats/' . $id);
+    $form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#path' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']);
     $form['formats'][$id]['weight'] = array(
       '#type' => 'weight',
       '#title' => t('Weight for @title', array('@title' => $format->name)),
diff --git a/core/modules/forum/forum.admin.inc b/core/modules/forum/forum.admin.inc
index 55a4238..500add5 100644
--- a/core/modules/forum/forum.admin.inc
+++ b/core/modules/forum/forum.admin.inc
@@ -244,7 +244,7 @@ function forum_overview($form, &$form_state) {
   foreach (element_children($form) as $key) {
     if (isset($form[$key]['#term'])) {
       $term = $form[$key]['#term'];
-      $form[$key]['view']['#href'] = 'forum/' . $term['tid'];
+      $form[$key]['view']['#path'] = 'forum/' . $term['tid'];
       unset($form[$key]['operations']['#links']['delete']);
       if (in_array($form[$key]['#term']['tid'], variable_get('forum_containers', array()))) {
         $form[$key]['operations']['#links']['edit']['title'] = t('edit container');
diff --git a/core/modules/image/image.admin.inc b/core/modules/image/image.admin.inc
index ecb72d8..017f1b3 100644
--- a/core/modules/image/image.admin.inc
+++ b/core/modules/image/image.admin.inc
@@ -82,13 +82,13 @@ function image_style_form($form, &$form_state, $style) {
       $form['effects'][$key]['configure'] = array(
         '#type' => 'link',
         '#title' => t('edit'),
-        '#href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key,
+        '#path' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key,
         '#access' => isset($effect['form callback']),
       );
       $form['effects'][$key]['remove'] = array(
         '#type' => 'link',
         '#title' => t('delete'),
-        '#href' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key . '/delete',
+        '#path' => 'admin/config/media/image-styles/edit/' . $style['name'] . '/effects/' . $key . '/delete',
       );
     }
   }
@@ -361,7 +361,7 @@ function image_effect_form($form, &$form_state, $style, $effect) {
   $form['actions']['cancel'] = array(
     '#type' => 'link',
     '#title' => t('Cancel'),
-    '#href' => 'admin/config/media/image-styles/edit/' . $style['name'],
+    '#path' => 'admin/config/media/image-styles/edit/' . $style['name'],
   );
 
   return $form;
diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc
index 33bc147..1842695 100644
--- a/core/modules/language/language.admin.inc
+++ b/core/modules/language/language.admin.inc
@@ -64,12 +64,12 @@ function language_admin_overview_form($form, &$form_state) {
     $form['languages'][$langcode]['operations']['edit'] = array(
       '#type' => 'link',
       '#title' => t('edit'),
-      '#href' => 'admin/config/regional/language/edit/' . $langcode,
+      '#path' => 'admin/config/regional/language/edit/' . $langcode,
     );
     $form['languages'][$langcode]['operations']['delete'] = array(
       '#type' => 'link',
       '#title' => t('delete'),
-      '#href' => 'admin/config/regional/language/delete/' . $langcode,
+      '#path' => 'admin/config/regional/language/delete/' . $langcode,
       '#access' => $langcode != $default->langcode,
     );
   }
diff --git a/core/modules/locale/locale.admin.inc b/core/modules/locale/locale.admin.inc
index 321b8ce..5f20746 100644
--- a/core/modules/locale/locale.admin.inc
+++ b/core/modules/locale/locale.admin.inc
@@ -105,7 +105,7 @@ function language_negotiation_configure_form_table(&$form, $type) {
 
       $config_op = array();
       if (isset($method['config'])) {
-        $config_op = array('#type' => 'link', '#title' => t('Configure'), '#href' => $method['config']);
+        $config_op = array('#type' => 'link', '#title' => t('Configure'), '#path' => $method['config']);
         // If there is at least one operation enabled show the operation column.
         $table_form['#show_operations'] = TRUE;
       }
diff --git a/core/modules/locale/locale.module b/core/modules/locale/locale.module
index 6d3ded0..c4773fd 100644
--- a/core/modules/locale/locale.module
+++ b/core/modules/locale/locale.module
@@ -1027,7 +1027,7 @@ function locale_form_language_admin_overview_form_alter(&$form, &$form_state) {
           '@total' => $total_strings,
           '@ratio' => $stats[$langcode]['ratio'],
         )),
-        '#href' => 'admin/config/regional/translate/translate',
+        '#path' => 'admin/config/regional/translate/translate',
       );
     }
     else {
diff --git a/core/modules/menu/menu.admin.inc b/core/modules/menu/menu.admin.inc
index 2e1725d..639df8b 100644
--- a/core/modules/menu/menu.admin.inc
+++ b/core/modules/menu/menu.admin.inc
@@ -123,14 +123,14 @@ function _menu_overview_tree_form($tree) {
       );
       // Build a list of operations.
       $operations = array();
-      $operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
+      $operations['edit'] = array('#type' => 'link', '#title' => t('edit'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/edit');
       // Only items created by the menu module can be deleted.
       if ($item['module'] == 'menu' || $item['updated'] == 1) {
-        $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
+        $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete');
       }
       // Set the reset column.
       elseif ($item['module'] == 'system' && $item['customized']) {
-        $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
+        $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#path' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset');
       }
       $form[$mlid]['operations'] = $operations;
     }
diff --git a/core/modules/node/node.admin.inc b/core/modules/node/node.admin.inc
index ac18da7..42771ae 100644
--- a/core/modules/node/node.admin.inc
+++ b/core/modules/node/node.admin.inc
@@ -484,7 +484,7 @@ function node_admin_nodes() {
         'data' => array(
           '#type' => 'link',
           '#title' => $node->title,
-          '#href' => 'node/' . $node->nid,
+          '#path' => 'node/' . $node->nid,
           '#options' => $l_options,
           '#suffix' => ' ' . theme('mark', array('type' => node_mark($node->nid, $node->changed))),
         ),
@@ -531,7 +531,7 @@ function node_admin_nodes() {
         'data' => array(
           '#type' => 'link',
           '#title' => $link['title'],
-          '#href' => $link['href'],
+          '#path' => $link['href'],
           '#options' => array('query' => $link['query']),
         ),
       );
diff --git a/core/modules/overlay/overlay.module b/core/modules/overlay/overlay.module
index 58dcbab..e7e8442 100644
--- a/core/modules/overlay/overlay.module
+++ b/core/modules/overlay/overlay.module
@@ -340,7 +340,7 @@ function overlay_disable_message() {
       'profile_link' => array(
         '#type' => 'link',
         '#title' => t('If you have problems accessing administrative pages on this site, disable the overlay on your profile page.'),
-        '#href' => 'user/' . $user->uid . '/edit',
+        '#path' => 'user/' . $user->uid . '/edit',
         '#options' => array(
           'query' => drupal_get_destination(),
           'fragment' => 'edit-overlay-control',
@@ -356,7 +356,7 @@ function overlay_disable_message() {
       'dismiss_message_link' => array(
         '#type' => 'link',
         '#title' => t('Dismiss this message.'),
-        '#href' => 'overlay/dismiss-message',
+        '#path' => 'overlay/dismiss-message',
         '#options' => array(
           'query' => drupal_get_destination() + array(
             // Add a token to protect against cross-site request forgeries.
diff --git a/core/modules/shortcut/shortcut.module b/core/modules/shortcut/shortcut.module
index 3602822..0c3b801 100644
--- a/core/modules/shortcut/shortcut.module
+++ b/core/modules/shortcut/shortcut.module
@@ -696,7 +696,7 @@ function shortcut_preprocess_page(&$variables) {
         '#prefix' => '<div class="add-or-remove-shortcuts ' . $link_mode . '-shortcut">',
         '#type' => 'link',
         '#title' => '<span class="icon"></span><span class="text">' . $link_text . '</span>',
-        '#href' => $link_path,
+        '#path' => $link_path,
         '#options' => array('query' => $query, 'html' => TRUE),
         '#suffix' => '</div>',
       );
@@ -729,7 +729,7 @@ function shortcut_toolbar_pre_render($toolbar) {
     $configure_link = array(
       '#type' => 'link',
       '#title' => t('Edit shortcuts'),
-      '#href' => 'admin/config/user-interface/shortcut/' . $shortcut_set->set_name,
+      '#path' => 'admin/config/user-interface/shortcut/' . $shortcut_set->set_name,
       '#options' => array('attributes' => array('id' => 'edit-shortcuts')),
     );
   }
diff --git a/core/modules/simpletest/simpletest.pages.inc b/core/modules/simpletest/simpletest.pages.inc
index 8ac1ee2..587fdaa 100644
--- a/core/modules/simpletest/simpletest.pages.inc
+++ b/core/modules/simpletest/simpletest.pages.inc
@@ -323,7 +323,7 @@ function simpletest_result_form($form, &$form_state, $test_id) {
   $form['action']['return'] = array(
     '#type' => 'link',
     '#title' => t('Return to list'),
-    '#href' => 'admin/config/development/testing',
+    '#path' => 'admin/config/development/testing',
   );
 
   if (is_numeric($test_id)) {
diff --git a/core/modules/simpletest/tests/ajax_test.module b/core/modules/simpletest/tests/ajax_test.module
index 21be019..1fcadb4 100644
--- a/core/modules/simpletest/tests/ajax_test.module
+++ b/core/modules/simpletest/tests/ajax_test.module
@@ -69,7 +69,7 @@ function ajax_test_link() {
   $build['link'] = array(
     '#type' => 'link',
     '#title' => 'Show help',
-    '#href' => 'filter/tips',
+    '#path' => 'filter/tips',
     '#ajax' => array(
       'wrapper' => 'block-system-main',
     ),
diff --git a/core/modules/simpletest/tests/common.test b/core/modules/simpletest/tests/common.test
index 4f20361..630257c 100644
--- a/core/modules/simpletest/tests/common.test
+++ b/core/modules/simpletest/tests/common.test
@@ -1804,13 +1804,13 @@ class CommonDrupalRenderTestCase extends DrupalWebTestCase {
     $element = array(
       '#type' => 'link',
       '#title' => $this->randomName(),
-      '#href' => $this->randomName(),
+      '#path' => $this->randomName(),
       '#options' => array(
         'absolute' => TRUE,
       ),
     );
     $this->assertRenderedElement($element, '//a[@href=:href and contains(., :title)]', array(
-      ':href' => url($element['#href'], array('absolute' => TRUE)),
+      ':href' => url($element['#path'], array('absolute' => TRUE)),
       ':title' => $element['#title'],
     ));
 
diff --git a/core/modules/simpletest/tests/menu.test b/core/modules/simpletest/tests/menu.test
index fbc0e17..59cb0dc 100644
--- a/core/modules/simpletest/tests/menu.test
+++ b/core/modules/simpletest/tests/menu.test
@@ -1018,7 +1018,7 @@ class MenuTreeOutputTestCase extends DrupalWebTestCase {
     $this->assertEqual( $output['1']['#theme'], 'menu_link__main_menu', t('Hyphen is changed to a dash on menu_link'));
     $this->assertEqual( $output['#theme_wrappers'][0], 'menu_tree__main_menu', t('Hyphen is changed to a dash on menu_tree wrapper'));
     // Looking for child items in the data
-    $this->assertEqual( $output['1']['#below']['2']['#href'], 'a/b', t('Checking the href on a child item'));
+    $this->assertEqual( $output['1']['#below']['2']['#path'], 'a/b', t('Checking the href on a child item'));
     $this->assertTrue( in_array('active-trail',$output['1']['#below']['2']['#attributes']['class']) , t('Checking the active trail class'));
     // Validate that the hidden and no access items are missing
     $this->assertFalse( isset($output['5']), t('Hidden item should be missing'));
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 978b0f4..dda925c 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -844,7 +844,7 @@ function system_modules($form, $form_state = array()) {
         $extra['links']['help'] = array(
           '#type' => 'link',
           '#title' => t('Help'),
-          '#href' => "admin/help/$filename",
+          '#path' => "admin/help/$filename",
           '#options' => array('attributes' => array('class' =>  array('module-link', 'module-link-help'), 'title' => t('Help'))),
         );
       }
@@ -854,7 +854,7 @@ function system_modules($form, $form_state = array()) {
       $extra['links']['permissions'] = array(
         '#type' => 'link',
         '#title' => t('Permissions'),
-        '#href' => 'admin/people/permissions',
+        '#path' => 'admin/people/permissions',
         '#options' => array('fragment' => 'module-' . $filename, 'attributes' => array('class' => array('module-link', 'module-link-permissions'), 'title' => t('Configure permissions'))),
       );
     }
@@ -866,7 +866,7 @@ function system_modules($form, $form_state = array()) {
         $extra['links']['configure'] = array(
           '#type' => 'link',
           '#title' => t('Configure'),
-          '#href' => $configure_link['href'],
+          '#path' => $configure_link['href'],
           '#options' => array('attributes' => array('class' => array('module-link', 'module-link-configure'), 'title' => $configure_link['description'])),
         );
       }
@@ -2040,7 +2040,7 @@ function system_date_time_settings() {
         $form['formats']['delete']['date_format_' . $type . '_delete'] = array(
           '#type' => 'link',
           '#title' => t('delete'),
-          '#href' => 'admin/config/regional/date-time/types/' . $type . '/delete',
+          '#path' => 'admin/config/regional/date-time/types/' . $type . '/delete',
         );
       }
     }
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index fd571ce..da5adb2 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -2876,7 +2876,7 @@ function confirm_form($form, $question, $path, $description = NULL, $yes = NULL,
   $form['actions']['cancel'] = array(
     '#type' => 'link',
     '#title' => $no ? $no : t('Cancel'),
-    '#href' => $options['path'],
+    '#path' => $options['path'],
     '#options' => $options,
   );
   // By default, render the form using theme_confirm_form().
diff --git a/core/modules/taxonomy/taxonomy.admin.inc b/core/modules/taxonomy/taxonomy.admin.inc
index beb87f9..666cfd4 100644
--- a/core/modules/taxonomy/taxonomy.admin.inc
+++ b/core/modules/taxonomy/taxonomy.admin.inc
@@ -25,9 +25,9 @@ function taxonomy_overview_vocabularies($form) {
       '#delta' => 10,
       '#default_value' => $vocabulary->weight,
     );
-    $form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/edit");
-    $form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name");
-    $form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/add");
+    $form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#path' => "admin/structure/taxonomy/$vocabulary->machine_name/edit");
+    $form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#path' => "admin/structure/taxonomy/$vocabulary->machine_name");
+    $form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#path' => "admin/structure/taxonomy/$vocabulary->machine_name/add");
   }
 
   // Only make this form include a submit button and weight if more than one
@@ -371,7 +371,7 @@ function taxonomy_overview_terms($form, &$form_state, $vocabulary) {
       unset($form[$key]['#term']['parents'], $term->parents);
     }
 
-    $form[$key]['view'] = array('#type' => 'link', '#title' => $term->name, '#href' => "taxonomy/term/$term->tid");
+    $form[$key]['view'] = array('#type' => 'link', '#title' => $term->name, '#path' => "taxonomy/term/$term->tid");
     if ($vocabulary->hierarchy != TAXONOMY_HIERARCHY_MULTIPLE && count($tree) > 1) {
       $form['#parent_fields'] = TRUE;
       $form[$key]['tid'] = array(
diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module
index 47cde42..8d8fc5f 100644
--- a/core/modules/taxonomy/taxonomy.module
+++ b/core/modules/taxonomy/taxonomy.module
@@ -1540,7 +1540,7 @@ function taxonomy_field_formatter_view($entity_type, $entity, $field, $instance,
           $element[$delta] = array(
             '#type' => 'link',
             '#title' => $term->name,
-            '#href' => $uri['path'],
+            '#path' => $uri['path'],
             '#options' => $uri['options'],
           );
         }
diff --git a/core/modules/user/user.admin.inc b/core/modules/user/user.admin.inc
index f7d4552..2ac31fd 100644
--- a/core/modules/user/user.admin.inc
+++ b/core/modules/user/user.admin.inc
@@ -207,7 +207,7 @@ function user_admin_account() {
       'roles' => theme('item_list', array('items' => $users_roles)),
       'member_for' => format_interval(REQUEST_TIME - $account->created),
       'access' =>  $account->access ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $account->access))) : t('never'),
-      'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#href' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
+      'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#path' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
     );
   }
 
