Index: libs/libmythtv/tv_play.cpp
===================================================================
--- libs/libmythtv/tv_play.cpp	(revision 12631)
+++ libs/libmythtv/tv_play.cpp	(working copy)
@@ -2384,7 +2384,7 @@
                             break;
                     }
                 }
-                else if (dialogname == "videoexitplayoptions") 
+                else if (dialogname == "videoexitplayoptions")
                 {
                     int result = GetOSD()->GetDialogResponse(dialogname);
 
@@ -2780,22 +2780,35 @@
 
             if (StateIsLiveTV(GetState()))
             {
-                if (nvp && gContext->GetNumSetting("PlaybackExitPrompt") == 2)
-                    nvp->SetBookmark();
                 if (nvp && gContext->GetNumSetting("AutomaticSetWatched", 0))
                     nvp->SetWatched();
                 exitPlayer = true;
                 wantsToQuit = true;
+                if (nvp)
+                {
+                    switch(gContext->GetNumSetting("PlaybackExitPrompt"))
+                    {
+                        case 2:
+                            nvp->SetBookmark();
+                            break;
+                        case 4: case 8:
+                            PromptStopWatchingRecording();
+                            wantsToQuit = false;
+                            exitPlayer = false;
+                            break;
+                    }
+                }
             }
             else 
             {
-                if (nvp && gContext->GetNumSetting("PlaybackExitPrompt") == 1 &&
+                if (nvp && 5 & gContext->GetNumSetting("PlaybackExitPrompt") &&
                     !underNetworkControl && !prbuffer->InDVDMenuOrStillFrame())
                 {
                     PromptStopWatchingRecording();
                     break;
                 }
-                else if (nvp && gContext->GetNumSetting("PlaybackExitPrompt") == 2)
+                else if (nvp &&
+		         gContext->GetNumSetting("PlaybackExitPrompt") == 2)
                     nvp->SetBookmark();
                 if (nvp && gContext->GetNumSetting("AutomaticSetWatched", 0))
                     nvp->SetWatched();
@@ -7484,20 +7497,24 @@
     
     if (playbackinfo && allowbookmark)
     {
-        QString videotype = (prbuffer->isDVD()) ? "DVD":"recording";
-        message = tr("You are exiting this %1").arg(videotype);
+        QString videotype;
+        if (StateIsLiveTV(GetState()))
+            videotype = "Live TV";
+        else
+            videotype = (prbuffer->isDVD()) ? "this DVD":"this recording";
 
+        message = tr("You are exiting %1").arg(videotype);
+
         options += tr("Save this position and go to the menu");
         options += tr("Do not save, just exit to the menu");
         options += tr("Keep watching");
-        if (!prbuffer->isDVD())
+        if (!prbuffer->isDVD() && !StateIsLiveTV(GetState()))
             options += tr("Delete this recording");
 
         dialogname = "exitplayoptions";
     }
     else
     {
-
         message = tr("You are exiting this Video/DVD");
        
         options += tr("Keep Watching");
Index: programs/mythfrontend/globalsettings.cpp
===================================================================
--- programs/mythfrontend/globalsettings.cpp	(revision 12631)
+++ programs/mythfrontend/globalsettings.cpp	(working copy)
@@ -1241,7 +1241,9 @@
     gc->setLabel(QObject::tr("Action on playback exit"));
     gc->addSelection(QObject::tr("Just exit"), "0");
     gc->addSelection(QObject::tr("Save position and exit"), "2");
-    gc->addSelection(QObject::tr("Always prompt"), "1");
+    gc->addSelection(QObject::tr("Always prompt (excluding Live TV)"), "1");
+    gc->addSelection(QObject::tr("Always prompt (including Live TV)"), "4");
+    gc->addSelection(QObject::tr("Prompt for Live TV only"), "8");
     gc->setHelpText(QObject::tr("If set to prompt, a menu will be displayed "
                     "when you exit playback mode.  The options available will "
                     "allow you to save your position, delete the "
