Index: apps/tagtree.c
===================================================================
--- apps/tagtree.c	(Revision 13020)
+++ apps/tagtree.c	(Arbeitskopie)
@@ -1092,7 +1092,15 @@
             dptr++;
             current_entry_count++;
         }
-        special_entry_count++;
+        if (offset <= 1)
+        {
+            dptr->newtable = navibrowse;
+            dptr->name = "<Random>";
+            dptr->extraseek = -1;
+            dptr++;
+            current_entry_count++;
+        }
+        special_entry_count+=2;
     }
     
     total_count += special_entry_count;
@@ -1328,8 +1363,15 @@
     dptr = tagtree_get_entry(c, c->selected_item);
     
     c->dirfull = false;
+    seek = dptr->extraseek;
+    
+    if (seek == -1) 
+    {
+        srand(current_tick);
+        dptr = (tagtree_get_entry(c, 2+(rand() % (c->filesindir-2))));
+        seek = dptr->extraseek;
+    }
     newextra = dptr->newtable;
-    seek = dptr->extraseek;
 
     if (c->dirlevel >= MAX_DIR_LEVELS)
         return 0;
