Index: mythtv/libs/libmythui/mythmainwindow.cpp
===================================================================
--- mythtv/libs/libmythui/mythmainwindow.cpp	(revision 14474)
+++ mythtv/libs/libmythui/mythmainwindow.cpp	(working copy)
@@ -726,6 +726,64 @@
     if (allowJumps && 
         d->jumpMap.count(keynum) > 0 && d->exitmenucallback == NULL)
     {
+        JumpData *jd = d->jumpMap[keynum];
+        QString destination = jd->destination;
+
+        QWidget *current = currentWidget();
+        if (current)
+        {
+            QString origin = current->name();
+
+            if (origin == "video playback window")
+            {
+                // Demote jump point - use local binding
+                if (destination == "Program Finder")
+                {
+                    actions = QString("FINDER");
+                    return true;
+                }
+
+                // Demote jump point - use local binding
+                if (destination == "Program Guide")
+                {
+                    actions = QString("GUIDE");
+                    return true;
+                }
+            }
+
+            if (origin == "guidegrid")
+            {
+                // Squash jumpoint - already there
+                if (destination == "Program Guide")
+                {
+                    return false;
+                }
+
+                // Demote jump point - use toggle
+                if (destination == "Program Finder")
+                {
+                    actions = QString("6");
+                    return true;
+                }
+            }
+
+            if (origin == "program finder")
+            {
+                // Squash jumpoint - already there
+                if (destination == "Program Finder")
+                {
+                    return false;
+                }
+
+                // Demote jump point - use toggle
+                if (destination == "Program Guide")
+                {
+                    actions = QString("4");
+                    return true;
+                }
+            }
+        }
+
         d->exitingtomain = true;
         d->exitmenucallback = d->jumpMap[keynum]->callback;
         QApplication::postEvent(this, new ExitToMainMenuEvent());
