diff --git a/modules/taxonomy.module b/modules/taxonomy.module
index e0a6cc642da9a23042467f074381cce91644c1b4..f56fa8338f46f9c3924db9abc21507fa944d2691 100644
--- a/modules/taxonomy.module
+++ b/modules/taxonomy.module
@@ -561,7 +561,7 @@ function taxonomy_node_get_terms($nid, $key = 'tid') {
   static $terms;
 
   if (!isset($terms[$nid])) {
-    $result = db_query('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.nid = %d ORDER BY v.weight, t.weight, t.name', $nid);
+    $result = db_query(db_rewrite_sql('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.nid = %d ORDER BY v.weight, t.weight, t.name', 't', 'tid'), $nid);
     $terms[$nid] = array();
     while ($term = db_fetch_object($result)) {
       $terms[$nid][$term->$key] = $term;
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index e0a6cc642da9a23042467f074381cce91644c1b4..f56fa8338f46f9c3924db9abc21507fa944d2691 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -561,7 +561,7 @@ function taxonomy_node_get_terms($nid, $key = 'tid') {
   static $terms;
 
   if (!isset($terms[$nid])) {
-    $result = db_query('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.nid = %d ORDER BY v.weight, t.weight, t.name', $nid);
+    $result = db_query(db_rewrite_sql('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.nid = %d ORDER BY v.weight, t.weight, t.name', 't', 'tid'), $nid);
     $terms[$nid] = array();
     while ($term = db_fetch_object($result)) {
       $terms[$nid][$term->$key] = $term;