diff --git a/lib/Views/taxonomy/Plugin/views/argument_validate/Term.php b/lib/Views/taxonomy/Plugin/views/argument_validator/Term.php
similarity index 71%
rename from lib/Views/taxonomy/Plugin/views/argument_validate/Term.php
rename to lib/Views/taxonomy/Plugin/views/argument_validator/Term.php
index d57877a6807e50019a1e0b22ee941c84535757da..0222dc01e3bcede3cc755aed685ccc4dd89a21da 100644
--- a/lib/Views/taxonomy/Plugin/views/argument_validate/Term.php
+++ b/lib/Views/taxonomy/Plugin/views/argument_validator/Term.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Defintion of Views\taxonomy\Plugin\views\argument_validate\Term.
+ * Definition of Views\taxonomy\Plugin\views\argument_validator\Term.
  */
 
 
@@ -19,6 +19,7 @@
  *   id = "taxonomy_term",
  *   module = "taxonomy",
  *   title = @Translation("Taxonomy term")
+ *   )
  */
 class Term extends ArgumentValidatorPluginBase {
 
@@ -97,19 +98,14 @@ function validate_argument($argument) {
         if (!is_numeric($argument)) {
           return FALSE;
         }
-
-        $query = db_select('taxonomy_term_data', 'td');
-        $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
-        $query->fields('td');
-        $query->fields('tv', array('machine_name'));
-        $query->condition('td.tid', $argument);
-        $query->addTag('term_access');
-        $term = $query->execute()->fetchObject();
+        // @todo Deal with missing addTag('term access') that was removed when
+        // the db_select that was replaced by the entity_load.
+        $term = entity_load('taxonomy_term', $argument);
         if (!$term) {
           return FALSE;
         }
         $this->argument->validated_title = check_plain($term->name);
-        return empty($vocabularies) || !empty($vocabularies[$term->machine_name]);
+        return empty($vocabularies) || !empty($vocabularies[$term->vocabulary_machine_name]);
 
       case 'tids':
         // An empty argument is not a term so doesn't pass.
@@ -143,22 +139,15 @@ function validate_argument($argument) {
 
         // if unverified tids left - verify them and cache results
         if (count($test)) {
-          $query = db_select('taxonomy_term_data', 'td');
-          $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
-          $query->fields('td');
-          $query->fields('tv', array('machine_name'));
-          $query->condition('td.tid', $test);
-
-          $result = $query->execute();
-
+          $result = entity_load_multiple('taxonomy_term', $test);
           foreach ($result as $term) {
-            if ($vocabularies && empty($vocabularies[$term->machine_name])) {
-              $validated_cache[$term->tid] = FALSE;
+            if ($vocabularies && empty($vocabularies[$term->vocabulary_machine_name])) {
+              $validated_cache[$term->id()] = FALSE;
               return FALSE;
             }
 
-            $titles[] = $validated_cache[$term->tid] = check_plain($term->name);
-            unset($test[$term->tid]);
+            $titles[] = $validated_cache[$term->id()] = check_plain($term->name);
+            unset($test[$term->id()]);
           }
         }
 
@@ -171,24 +160,15 @@ function validate_argument($argument) {
 
       case 'name':
       case 'convert':
-        $query = db_select('taxonomy_term_data', 'td');
-        $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
-        $query->fields('td');
-        $query->fields('tv', array('machine_name'));
-        if (!empty($vocabularies)) {
-          $query->condition('tv.machine_name', $vocabularies);
-        }
+        $terms = entity_load_multiple_by_properties('taxonomy_term', array('name' => $argument));
+        $term = reset($terms);
         if ($transform) {
-          $query->where("replace(td.name, ' ', '-') = :name", array(':name' => $argument));
-        }
-        else {
-          $query->condition('td.name', $argument);
+          $term->name = str_replace(' ', '-', $term->name);
         }
-        $term = $query->execute()->fetchObject();
 
-        if ($term && (empty($vocabularies) || !empty($vocabularies[$term->machine_name]))) {
+        if ($term && (empty($vocabularies) || !empty($vocabularies[$term->vocabulary_machine_name]))) {
           if ($type == 'convert') {
-            $this->argument->argument = $term->tid;
+            $this->argument->argument = $term->id();
           }
           $this->argument->validated_title = check_plain($term->name);
           return TRUE;
@@ -205,21 +185,15 @@ function process_summary_arguments(&$args) {
     if ($type == 'convert') {
       $arg_keys = array_flip($args);
 
-      $query = db_select('taxonomy_term_data', 'td');
-      $query->condition('tid', $args);
-      $query->addField('td', 'tid', 'tid');
-      if (!empty($vocabularies)) {
-        $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
-        $query->condition('tv.machine_name', $vocabularies);
-      }
+      $result = entity_load_multiple('taxonomy_term', $args);
+
       if ($transform) {
-        $query->addExpression("REPLACE(td.name, ' ', '-')", 'name');
-      }
-      else {
-        $query->addField('td', 'name', 'name');
+        foreach ($result as $term) {
+          $term->name = str_replace(' ', '-', $term->name);
+        }
       }
 
-      foreach ($query->execute()->fetchAllKeyed() as $tid => $term) {
+      foreach ($result as $tid => $term) {
         $args[$arg_keys[$tid]] = $term;
       }
     }