diff --git a/taxonomy_block.module b/taxonomy_block.module
index d05ee84..15e902c 100644
--- a/taxonomy_block.module
+++ b/taxonomy_block.module
@@ -154,10 +154,7 @@ function taxonomy_block_build_taxonomy_tree($vid, $parent = 0, $max_depth = NULL
     $terms = taxonomy_block_nest_taxonomy_terms($terms, $parent);
 
     //resort the array alphabetically, because of multilanguage
-    usort($terms, function($a, $b)
-    {
-      return strcmp($a->name, $b->name);
-    });
+    //usort($terms, "objsort");
 
 
     $results[$hash] = $terms;
@@ -167,8 +164,8 @@ function taxonomy_block_build_taxonomy_tree($vid, $parent = 0, $max_depth = NULL
 }
 
 
-function objsort(){
-
+function objsort($a, $b){
+  return strcmp($a->name, $b->name);
 }
 
 /**
@@ -229,13 +226,21 @@ function taxonomy_block_generate_list($hierarchy, $show_counts = FALSE) {
   foreach ($hierarchy as $term) {
 
     //i18n title, get translated title
-    $title = entity_label('taxonomy_term', $term);
+    if(module_exists("entity_translation")){
+        $term_entity = entity_load('taxonomy_term',array($term->tid));
+        $term_entity = $term_entity[$term->tid];
+        $title = $term_entity->name;
+        $description = $term_entity->description;
+    }
+    else{
+      $title = $description = entity_label('taxonomy_term', $term);
+    }
 
     if ($show_counts) {
       $title .= t(' (@count)', array('@count' => taxonomy_block_count_nodes_term($term->tid)));
     }
 
-    $item = l($title, 'taxonomy/term/' . $term->tid, array('attributes' => array('title' => $title)));
+    $item = l($title, 'taxonomy/term/' . $term->tid, array('attributes' => array('title' => $description)));
 
     if (!empty($term->children)) {
       $item .= taxonomy_block_generate_list($term->children, $show_counts);
