diff -Nru vdr-1.3.18/osdbase.c vdr-1.3.18-maxitems/osdbase.c
--- vdr-1.3.18/osdbase.c	Fri Jan  7 17:16:41 2005
+++ vdr-1.3.18-maxitems/osdbase.c	Thu Jan 20 15:44:43 2005
@@ -180,6 +180,7 @@
      subMenu->Display();
      return;
      }
+  displayMenuItems = displayMenu->MaxItems();
   displayMenu->SetMessage(mtStatus, NULL);
   displayMenu->Clear();
   cStatus::MsgOsdClear();
@@ -279,6 +280,8 @@
 {
   int last = Count() - 1;
   int lastOnScreen = first + displayMenuItems - 1;
+
+  displayMenuItems = displayMenu->MaxItems();
 
   if (current < last) {
      int tmpCurrent = current;