diff --git a/release/project_release.module b/release/project_release.module
index eb91533..cf1ef69 100644
--- a/release/project_release.module
+++ b/release/project_release.module
@@ -1342,9 +1342,11 @@ function project_release_query_releases($project_nid, $api_tid = NULL, $major =
     ->propertyCondition('status', 1)
     ->fieldCondition('field_release_project', 'target_id', $project_nid);
 
+  $api_vocabulary = taxonomy_vocabulary_load(variable_get('project_release_api_vocabulary', ''));
+  $api_field = 'taxonomy_' . $api_vocabulary->machine_name;
+
   if (isset($api_tid)) {
-    $api_vocabulary = taxonomy_vocabulary_load(variable_get('project_release_api_vocabulary', ''));
-    $query->fieldCondition('taxonomy_' . $api_vocabulary->machine_name, 'tid', $api_tid);
+    $query->fieldCondition($api_field, 'tid', $api_tid);
   }
 
   if (isset($major)) {
@@ -1373,6 +1375,7 @@ function project_release_query_releases($project_nid, $api_tid = NULL, $major =
 
   array_multisort(
     $columns['field_release_build_type'], $dev_first ? SORT_ASC : SORT_DESC,
+    $columns[$api_field], SORT_DESC, SORT_NUMERIC,
     $columns['field_release_version_major'], SORT_DESC, SORT_NUMERIC,
     $columns['field_release_version_minor'], SORT_DESC, SORT_NUMERIC,
     $columns['field_release_version_patch'], SORT_DESC, SORT_NUMERIC,
@@ -1389,6 +1392,9 @@ function project_release_query_releases($project_nid, $api_tid = NULL, $major =
  * Helper function for array_multisort()ing release nodes by version fields.
  */
 function _project_release_extract_multisort_columns($releases) {
+  $api_vocabulary = taxonomy_vocabulary_load(variable_get('project_release_api_vocabulary', ''));
+  $api_fieldname = "taxonomy_" . $api_vocabulary->machine_name;
+
   $result = array(
     'field_release_build_type' => array(),
     'field_release_version_major' => array(),
@@ -1397,9 +1403,11 @@ function _project_release_extract_multisort_columns($releases) {
     'field_release_version_ext_weight' => array(),
     'field_release_version_ext_delta' => array(),
     'field_release_version' => array(),
+    $api_fieldname => array(),
   );
   $field_defaults = array(
     'field_release_build_type' => '',
+    $api_fieldname => -1,
     'field_release_version_major' => -1,
     'field_release_version_minor' => -1,
     'field_release_version_patch' => -1,
@@ -1419,6 +1427,10 @@ function _project_release_extract_multisort_columns($releases) {
       if (isset($release->{$field}[$release->language][0]['value'])) {
         $value = $release->{$field}[$release->language][0]['value'];
       }
+      // Core release field uses taxonomy id instead of value
+      elseif (isset($release->{$field}[$release->language][0]['tid'])) {
+        $value = $release->{$field}[$release->language][0]['tid'];
+      }
       $result[$field][] = $value;
     }
   }
