Index: tv_play.cpp
===================================================================
--- tv_play.cpp	(revision 9328)
+++ tv_play.cpp	(working copy)
@@ -2133,7 +2133,7 @@
                 handled = false;
         }
     }
-    
+
     if (recAdjustment)
     {
         for (unsigned int i = 0; i < actions.size(); i++)
@@ -2198,6 +2198,33 @@
         }
     }
 
+    if (prbuffer->isDVD() && prbuffer->DVD()->IsInMenu())
+    {
+        for (unsigned int i = 0; i < actions.size(); i++)
+        {
+            QString action = actions[i];
+
+            int nb_buttons = prbuffer->DVD()->NumMenuButtons();
+            if (nb_buttons > 0)
+            {
+                handled = true;
+
+                if (action == "UP" || action == "CHANNELUP")
+                    prbuffer->DVD()->MoveButtonUp();
+                else if (action == "DOWN" || action == "CHANNELDOWN")
+                    prbuffer->DVD()->MoveButtonDown();
+                else if (action == "LEFT" || action == "SEEKRWND")
+                    prbuffer->DVD()->MoveButtonLeft();
+                else if (action == "RIGHT" || action == "SEEKFFWD")
+                    prbuffer->DVD()->MoveButtonRight();
+                else if (action == "SELECT")
+                    nvp->ActivateDVDButton();
+                else
+                    handled = false;
+            }
+        }
+    }
+
 #if DEBUG_ACTIONS
     for (uint i = 0; i < actions.size(); ++i)
         VERBOSE(VB_IMPORTANT, LOC + QString("handled(%1) actions[%2](%3)")
@@ -2675,25 +2702,8 @@
             QString action = actions[i];
             handled = true;
 
-            if (prbuffer->isDVD() && prbuffer->DVD()->IsInMenu())
+            if (action == "DELETE")
             {
-                int nb_buttons = prbuffer->DVD()->NumMenuButtons();
-                if (nb_buttons > 0)
-                {
-                    if (action == "UP" || action == "CHANNELUP")
-                        prbuffer->DVD()->MoveButtonUp();
-                    else if (action == "DOWN" || action == "CHANNELDOWN")
-                        prbuffer->DVD()->MoveButtonDown();
-                    else if (action == "LEFT" || action == "SEEKRWND")
-                        prbuffer->DVD()->MoveButtonLeft();
-                    else if (action == "RIGHT" || action == "SEEKFFWD")
-                        prbuffer->DVD()->MoveButtonRight();
-                    else if (action == "SELECT")
-                        nvp->ActivateDVDButton();
-                }
-            }
-            else if (action == "DELETE")
-            {
                 NormalSpeed();
                 StopFFRew();
                 nvp->SetBookmark(); 
