diff -urp ./page_manager/plugins/tasks/term_view.inc ../ctools/page_manager/plugins/tasks/term_view.inc
--- ./page_manager/plugins/tasks/term_view.inc	2011-02-18 15:15:29.000000000 -0600
+++ ../ctools/page_manager/plugins/tasks/term_view.inc	2011-02-18 15:16:10.000000000 -0600
@@ -23,7 +23,7 @@ function page_manager_term_view_page_man
       'title' => t('Taxonomy term template'),
       'admin title' => t('Taxonomy term template'),
       'admin description' => t('When enabled, this overrides the default Drupal behavior for displaying taxonomy terms at <em>taxonomy/term/%term</em>. If you add variants, you may use selection criteria such as vocabulary or user access to provide different displays of the taxonomy term and associated nodes. If no variant is selected, the default Drupal taxonomy term display will be used. This page only affects items actually displayed ad taxonomy/term/%term. Some taxonomy terms, such as forums, have their displays moved elsewhere. Also please note that if you are using pathauto, aliases may make a taxonomy terms appear somewhere else, but as far as Drupal is concerned, they are still at taxonomy/term/%term.'),
-      'admin path' => 'taxonomy/term/%term',
+      'admin path' => 'taxonomy/term/%taxonomy_term',
       'admin summary' => 'page_manager_term_view_admin_summary',
 
       // Menu hooks so that we can alter the term/%term menu entry to point to us.
@@ -71,11 +71,6 @@ function page_manager_term_view_menu_alt
     return;
   }
 
-  // @todo --fix.
-  variable_set('page_manager_term_view_disabled', TRUE);
-  drupal_set_message(t('Due to changes in taxonomy, the taxonomy integration with Page Manager is currently not implemented. See <a href="http://drupal.org/node/1016510">.'), 'error');
-  return;
-
   // Override the term view handler for our purpose, but only if someone else
   // has not already done so.
   if (isset($items['taxonomy/term/%taxonomy_term']) && $items['taxonomy/term/%taxonomy_term']['page callback'] == 'taxonomy_term_page' || variable_get('page_manager_override_anyway', FALSE)) {
@@ -102,39 +97,37 @@ function page_manager_term_view_menu_alt
 function page_manager_term_view_page($term) {
   // While we ordinarily should never actually get feeds through here,
   // just in case
-  if ($op != 'feed') {
-    // Load my task plugin
-    $task = page_manager_get_task('term_view');
-
-    // Load the term into a context.
-    ctools_include('context');
-    ctools_include('context-task-handler');
-    $contexts = ctools_context_handler_get_task_contexts($task, '', array($terms, $depth));
+  // Load my task plugin
+  $task = page_manager_get_task('term_view');
 
-    if (empty($contexts)) {
-      return drupal_not_found();
-    }
+  // Load the term into a context.
+  ctools_include('context');
+  ctools_include('context-task-handler');
+  $contexts = ctools_context_handler_get_task_contexts($task, '', array($term));
 
-    // Add a fake tab for 'View' so that edit tabs can be added.
-    if (user_access('administer page manager')) {
-      ctools_include('menu');
-      ctools_menu_add_tab(array(
-        'title' => t('View'),
-        'href' => $_GET['q'],
-        'type' => MENU_DEFAULT_LOCAL_TASK,
-        'weight' => -10,
-      ));
-    }
+  if (empty($contexts)) {
+    return drupal_not_found();
+  }
 
-    $output = ctools_context_handler_render($task, '', $contexts, array($terms, $depth, $op));
-    if ($output !== FALSE) {
-      return $output;
+  $output = ctools_context_handler_render($task, '', $contexts, array($term->tid));
+  if ($output !== FALSE) {
+    return $output;
+  }
+
+  $function = 'taxonomy_term_page';
+  foreach (module_implements('page_manager_override') as $module) {
+    $call = $module . '_page_manager_override';
+    if (($rc = $call('term_view')) && function_exists($rc)) {
+      $function = $rc;
+      break;
     }
   }
 
   // Otherwise, fall back.
-  module_load_include('inc', 'taxonomy', 'taxonomy.pages');
-  return taxonomy_term_page($terms, $depth, $op);
+  if ($function == 'taxonomy_term_page') {
+    module_load_include('inc', 'taxonomy', 'taxonomy.pages');
+  }
+  return $function($term);
 }
 
 /**
@@ -146,10 +139,11 @@ function page_manager_term_view_page($te
 function page_manager_term_view_get_arguments($task, $subtask_id) {
   return array(
     array(
-      'keyword' => 'term',
+      'keyword' => 'taxonomy_term',
       'identifier' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? t('Term(s) being viewed') : t('Term being viewed'),
       'id' => 1,
-      'name' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? 'terms' : 'term',
+      //'name' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? 'terms' : 'term',
+      'name' => 'entity_id:taxonomy_term',
       'settings' => array('input_form' => 'tid', 'breadcrumb' => variable_get('page_manager_taxonomy_breadcrumb', TRUE)),
       'default' => '404',
     ),
diff -urp ./plugins/content_types/term_context/term_description.inc ../ctools/plugins/content_types/term_context/term_description.inc
--- ./plugins/content_types/term_context/term_description.inc	2011-02-18 15:15:29.000000000 -0600
+++ ../ctools/plugins/content_types/term_context/term_description.inc	2011-02-14 13:21:52.000000000 -0600
@@ -10,7 +10,7 @@ $plugin = array(
   'title' => t('Term description'),
   'icon' => 'icon_term.png',
   'description' => t('Term description.'),
-  'required context' => new ctools_context_required(t('Term'), 'term'),
+  'required context' => new ctools_context_required(t('Term'), array('term', 'taxonomy_term')),
   'category' => t('Taxonomy term'),
 );
 
diff -urp ./plugins/content_types/term_context/term_list.inc ../ctools/plugins/content_types/term_context/term_list.inc
--- ./plugins/content_types/term_context/term_list.inc	2011-02-18 15:15:29.000000000 -0600
+++ ../ctools/plugins/content_types/term_context/term_list.inc	2011-02-14 13:21:52.000000000 -0600
@@ -10,7 +10,7 @@ $plugin = array(
   'title' => t('List of related terms'),
   'icon' => 'icon_term.png',
   'description' => t('Terms related to an existing term; may be child, siblings or top level.'),
-  'required context' => new ctools_context_required(t('Term'), 'term'),
+  'required context' => new ctools_context_required(t('Term'), array('term', 'taxonomy_term')),
   'category' => t('Taxonomy term'),
   'defaults' => array('title' => '', 'type' => 'child', 'list_type' => 'ul'),
 );
