Index: libs/libmythtv/tv_play.cpp
===================================================================
--- libs/libmythtv/tv_play.cpp	(revision 14618)
+++ libs/libmythtv/tv_play.cpp	(working copy)
@@ -2535,7 +2535,15 @@
                 {
                     lockTimerOn = false;
                 }
+                else if (dialogname == "infobox") 
+                {
+                    int result = GetOSD()->GetDialogResponse(dialogname);
 
+                    if (result == 1)
+                    {
+                           gContext->GetMainWindow()->JumpTo("TV Recording Playback");
+                    }
+                }
                 while (GetOSD()->DialogShowing(dialogname))
                 {
                     usleep(1000);
@@ -7306,14 +7314,22 @@
     else if (GetOSD())
     {
         dialogname = "infobox";
-        QStringList options("OK");
-        GetOSD()->NewDialogBox(dialogname, errorText, options, 0);
+        QStringList options;
+        options += tr("Return to Main Menu");
+        options += tr("View Recordings");
+        GetOSD()->NewDialogBox(dialogname, errorText, options, 0, 0);
     }
     else
     {
-        MythPopupBox::showOkPopup(
-            gContext->GetMainWindow(), QObject::tr("Channel Change Error"),
-            errorText);
+        int result = MythPopupBox::show2ButtonPopup(
+             gContext->GetMainWindow(), QObject::tr("Channel Change Error"),
+             errorText,
+             tr("Return to Main Menu"),
+             tr("View Recordings"),
+             1);
+        if (result == 1) {
+            gContext->GetMainWindow()->JumpTo("TV Recording Playback");
+        }
     }
 }
 
