--- menu.c.old	Thu Aug 22 14:08:30 2002
+++ menu.c	Thu Aug 22 14:07:56 2002
@@ -113,8 +113,8 @@
     int menu_lines = MENU_LINES;
 #endif
 
+    lcd_stop_scroll();		// scroll stopped before clear, because lcd_update is called in there (that lcd_puts something..)
     lcd_clear_display(); 
-    lcd_stop_scroll();
 #ifdef HAVE_LCD_BITMAP
     if(global_settings.statusbar)
         lcd_setmargins(0, STATUSBAR_HEIGHT);
@@ -228,6 +228,10 @@
                     /* move up */
                     put_cursor(m, menus[m].cursor-1);
                 }
+                else {
+                    /* move to bottom */
+                    put_cursor(m, menus[m].itemcount-1);
+                }
                 break;
 
 #ifdef HAVE_RECORDER_KEYPAD
@@ -241,6 +245,12 @@
                     /* move down */
                     put_cursor(m, menus[m].cursor+1);
                 }
+                else {
+                    /* move to top */
+				    menus[m].top = 0;
+				    menus[m].cursor = 0;
+                    put_cursor(m, 0);
+                }
                 break;
 
 #ifdef HAVE_RECORDER_KEYPAD

