diff --git a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
index f4125ab..d88e702 100644
--- a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
+++ b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml
@@ -91,13 +91,9 @@ views.field.term_link_edit:
       type: label
       label: 'Text to display'
 
-views.field.taxonomy:
-  type: views_field
-  label: 'Taxonomy language'
+views.field.term_name:
+  type: views.field.field
   mapping:
-    link_to_taxonomy:
-      type: boolean
-      label: 'Link this field to its taxonomy term page'
     convert_spaces:
       type: boolean
       label: 'Convert spaces in term names to hyphens'
@@ -169,3 +165,11 @@ views.relationship.node_term_data:
       sequence:
         type: string
         label: 'Vocabulary'
+
+views.field.term_name:
+  type: views.field.field
+  label: 'Term name'
+  mapping:
+    convert_spaces:
+      type: boolean
+      label: 'Convert spaces in term names to hyphens'
diff --git a/core/modules/taxonomy/src/Plugin/views/field/Taxonomy.php b/core/modules/taxonomy/src/Plugin/views/field/Taxonomy.php
deleted file mode 100644
index 903f174..0000000
--- a/core/modules/taxonomy/src/Plugin/views/field/Taxonomy.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/**
- * @file
- * Definition of Drupal\taxonomy\Plugin\views\field\Taxonomy.
- */
-
-namespace Drupal\taxonomy\Plugin\views\field;
-
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\views\Plugin\views\area\Result;
-use Drupal\views\Plugin\views\field\FieldPluginBase;
-use Drupal\views\Plugin\views\display\DisplayPluginBase;
-use Drupal\views\ResultRow;
-use Drupal\views\ViewExecutable;
-
-/**
- * Field handler to provide simple renderer that allows linking to a taxonomy
- * term.
- *
- * @todo This handler should use entities directly.
- *
- * @ingroup views_field_handlers
- *
- * @ViewsField("taxonomy")
- */
-class Taxonomy extends FieldPluginBase {
-
-  /**
-   * Overrides Drupal\views\Plugin\views\field\FieldPluginBase::init().
-   *
-   * This method assumes the taxonomy_term_data table. If using another table,
-   * we'll need to be more specific.
-   */
-  public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
-    parent::init($view, $display, $options);
-
-    $this->additional_fields['vid'] = 'vid';
-    $this->additional_fields['tid'] = 'tid';
-  }
-
-  protected function defineOptions() {
-    $options = parent::defineOptions();
-    $options['link_to_taxonomy'] = array('default' => FALSE);
-    $options['convert_spaces'] = array('default' => FALSE);
-    return $options;
-  }
-
-  /**
-   * Provide link to taxonomy option
-   */
-  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
-    $form['link_to_taxonomy'] = array(
-      '#title' => $this->t('Link this field to its taxonomy term page'),
-      '#description' => $this->t("Enable to override this field's links."),
-      '#type' => 'checkbox',
-      '#default_value' => !empty($this->options['link_to_taxonomy']),
-    );
-     $form['convert_spaces'] = array(
-      '#title' => $this->t('Convert spaces in term names to hyphens'),
-      '#description' => $this->t('This allows links to work with Views taxonomy term arguments.'),
-      '#type' => 'checkbox',
-      '#default_value' => !empty($this->options['convert_spaces']),
-    );
-    parent::buildOptionsForm($form, $form_state);
-  }
-
-  /**
-   * Prepares a link to the taxonomy.
-   *
-   * @param string $data
-   *   The XSS safe string for the link text.
-   * @param \Drupal\views\ResultRow $values
-   *   The values retrieved from a single row of a view's query result.
-   *
-   * @return string
-   *   Returns a string for the link text.
-   */
-  protected function renderLink($data, ResultRow $values) {
-    $term = $this->getEntity($values);
-
-    if (!empty($this->options['link_to_taxonomy']) && $term && $data !== NULL && $data !== '') {
-      $this->options['alter']['make_link'] = TRUE;
-      $this->options['alter']['url'] = $term->urlInfo();
-    }
-
-    if (!empty($this->options['convert_spaces'])) {
-      $data = str_replace(' ', '-', $data);
-    }
-
-    return $data;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function render(ResultRow $values) {
-    $value = $this->getValue($values);
-    return $this->renderLink($this->sanitizeValue($value), $values);
-  }
-
-}
diff --git a/core/modules/taxonomy/src/Plugin/views/field/TermName.php b/core/modules/taxonomy/src/Plugin/views/field/TermName.php
new file mode 100644
index 0000000..e67b56a
--- /dev/null
+++ b/core/modules/taxonomy/src/Plugin/views/field/TermName.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\taxonomy\Plugin\views\field\TermName.
+ */
+
+namespace Drupal\taxonomy\Plugin\views\field;
+
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\views\Plugin\views\field\Field;
+
+/**
+ * A field that displays the taxonomy term name.
+ *
+ * @ingroup views_field_handlers
+ *
+ * @ViewsField("term_name")
+ */
+class TermName extends Field {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function preRender(&$values) {
+    if ($this->options['convert_spaces']) {
+      foreach ($values as $result) {
+        if (!empty($result->{$this->field_alias})) {
+          $result->{$this->field_alias} = str_replace(' ', '-', $result->{$this->field_alias});
+        }
+      }
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function defineOptions() {
+    $options = parent::defineOptions();
+    $options['convert_spaces'] = array('default' => FALSE);
+    return $options;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
+    $form['convert_spaces'] = array(
+      '#title' => $this->t('Convert spaces in term names to hyphens'),
+      '#type' => 'checkbox',
+      '#default_value' => !empty($this->options['convert_spaces']),
+    );
+
+    parent::buildOptionsForm($form, $form_state);
+  }
+
+}
diff --git a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
index 848ef1b..c728c2c 100644
--- a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
+++ b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
@@ -50,8 +50,9 @@ protected function defaultDisplayOptions() {
     $display_options['fields']['name']['alter']['html'] = 0;
     $display_options['fields']['name']['hide_empty'] = 0;
     $display_options['fields']['name']['empty_zero'] = 0;
-    $display_options['fields']['name']['link_to_taxonomy'] = 1;
-    $display_options['fields']['name']['plugin_id'] = 'taxonomy';
+    $display_options['fields']['name']['type'] = 'string';
+    $display_options['fields']['name']['settings']['link_to_entity'] = 1;
+    $display_options['fields']['name']['plugin_id'] = 'term_name';
 
     return $display_options;
   }
diff --git a/core/modules/taxonomy/src/TermViewsData.php b/core/modules/taxonomy/src/TermViewsData.php
index d101f84..1d3ba6f 100644
--- a/core/modules/taxonomy/src/TermViewsData.php
+++ b/core/modules/taxonomy/src/TermViewsData.php
@@ -94,7 +94,7 @@ public function getViewsData() {
       );
     }
 
-    $data['taxonomy_term_field_data']['name']['field']['id'] = 'taxonomy';
+    $data['taxonomy_term_field_data']['name']['field']['id'] = 'term_name';
     $data['taxonomy_term_field_data']['name']['argument']['many to one'] = TRUE;
     $data['taxonomy_term_field_data']['name']['argument']['empty field name'] = t('Uncategorized');
 
diff --git a/core/modules/taxonomy/src/Tests/Views/TermNameFieldTest.php b/core/modules/taxonomy/src/Tests/Views/TermNameFieldTest.php
new file mode 100644
index 0000000..410fc1b
--- /dev/null
+++ b/core/modules/taxonomy/src/Tests/Views/TermNameFieldTest.php
@@ -0,0 +1,52 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\taxonomy\Tests\Views\TermNameFieldTest.
+ */
+
+namespace Drupal\taxonomy\Tests\Views;
+
+use Drupal\views\Views;
+
+/**
+ * Tests the term_name field handler.
+ *
+ * @group taxonomy
+ *
+ * @see \Drupal\taxonomy\Plugin\views\field\TermName
+ */
+class TermNameFieldTest extends TaxonomyTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $testViews = array('test_taxonomy_term_name');
+
+  public function testTerNameField() {
+    $this->term1->name->value = $this->randomMachineName() . ' ' . $this->randomMachineName();
+    $this->term1->save();
+
+    $user = $this->drupalCreateUser(['access content']);
+    $this->drupalLogin($user);
+
+    $view = Views::getView('test_taxonomy_term_name');
+    $view->initDisplay();
+    $this->executeView($view);
+
+    $this->assertEqual($this->term1->getName(), $view->getStyle()->getField(0, 'name'));
+    $this->assertEqual($this->term2->getName(), $view->getStyle()->getField(1, 'name'));
+
+    $view = Views::getView('test_taxonomy_term_name');
+    $view->initDisplay();
+    $display =& $view->storage->getDisplay('default');
+    $display['display_options']['fields']['name']['convert_spaces'] = TRUE;
+
+    $this->executeView($view);
+
+    $this->assertEqual(str_replace(' ', '-', $this->term1->getName()), $view->getStyle()->getField(0, 'name'));
+    $this->assertEqual($this->term2->getName(), $view->getStyle()->getField(1, 'name'));
+
+  }
+
+}
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
index 5842b34..dcb0bc4 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
@@ -94,7 +94,6 @@ display:
             html: false
           hide_empty: false
           empty_zero: false
-          link_to_taxonomy: true
           relationship: none
           group_type: group
           admin_label: ''
@@ -109,8 +108,10 @@ display:
           element_default_classes: true
           empty: ''
           hide_alter_empty: true
-          convert_spaces: false
-          plugin_id: taxonomy
+          plugin_id: field
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
       filters: {  }
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
index ccde243..baa59ff 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
@@ -70,7 +70,6 @@ display:
             html: false
           hide_empty: false
           empty_zero: false
-          link_to_taxonomy: true
           relationship: none
           group_type: group
           admin_label: ''
@@ -85,8 +84,10 @@ display:
           element_default_classes: true
           empty: ''
           hide_alter_empty: true
-          convert_spaces: false
-          plugin_id: taxonomy
+          plugin_id: field
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
       filters:
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
index c5ba611..4156094 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
@@ -27,7 +27,10 @@ display:
           field: name
           id: name
           table: taxonomy_term_field_data
-          plugin_id: taxonomy
+          plugin_id: term_name
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
         nid:
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_parent.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_parent.yml
index d2c87b3..eb6d298 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_parent.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_parent.yml
@@ -96,7 +96,6 @@ display:
             html: false
           hide_empty: false
           empty_zero: false
-          link_to_taxonomy: true
           relationship: none
           group_type: group
           admin_label: ''
@@ -111,8 +110,10 @@ display:
           element_default_classes: true
           empty: ''
           hide_alter_empty: true
-          convert_spaces: false
-          plugin_id: taxonomy
+          plugin_id: field
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
       filters: {  }
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_term_name.yml
similarity index 95%
copy from core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
copy to core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_term_name.yml
index 1d7562a..6fae130 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_term_name.yml
@@ -4,8 +4,8 @@ dependencies:
   module:
     - taxonomy
     - user
-id: test_taxonomy_tid_field
-label: test_taxonomy_tid_field
+id: test_taxonomy_term_name
+label: test_taxonomy_term_name
 module: views
 description: ''
 tag: ''
@@ -128,9 +128,11 @@ display:
           hide_empty: false
           empty_zero: false
           hide_alter_empty: true
-          link_to_taxonomy: true
+          plugin_id: term_name
+          type: string
+          settings:
+            link_to_entity: false
           convert_spaces: false
-          plugin_id: taxonomy
           entity_type: taxonomy_term
           entity_field: name
       filters: {  }
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
index 1d7562a..6fab886 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
@@ -128,9 +128,10 @@ display:
           hide_empty: false
           empty_zero: false
           hide_alter_empty: true
-          link_to_taxonomy: true
-          convert_spaces: false
-          plugin_id: taxonomy
+          plugin_id: field
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
       filters: {  }
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
index 4dcb99b..1e09fe3 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
@@ -27,7 +27,10 @@ display:
           field: name
           id: name
           table: taxonomy_term_field_data
-          plugin_id: taxonomy
+          plugin_id: term_name
+          type: string
+          settings:
+            link_to_entity: true
           entity_type: taxonomy_term
           entity_field: name
         nid:
