diff -Nru vdr-1.3.33-orig/menu.c vdr-1.3.33/menu.c
--- vdr-1.3.33-orig/menu.c	Sun Sep 25 15:37:21 2005
+++ vdr-1.3.33/menu.c	Mon Sep 26 14:49:25 2005
@@ -1267,7 +1267,11 @@
 
 eOSState cMenuCommands::ProcessKey(eKeys Key)
 {
+  bool hadSubMenu = HasSubMenu();
   eOSState state = cOsdMenu::ProcessKey(Key);
+
+  if (hadSubMenu && !HasSubMenu())
+	  return osBack;
 
   if (state == osUnknown) {
      switch (Key) {
