--- a/mythtv/programs/mythfrontend/guidegrid.cpp	2017-03-21 16:32:32.003323807 +1030
+++ b/mythtv/programs/mythfrontend/guidegrid.cpp	2017-04-05 06:56:51.796684706 +1030
@@ -825,6 +825,38 @@
                     enter();
                 }
             }
+            else if (!m_player)
+            {
+                // If the selected program is close enough to now and not
+                // currently viewing livetv, presume it possible that the
+                // user wanted to watch via livetv instead of editing
+                // the recording rule.
+                ProgramInfo *pginfo =
+                    m_programInfos[m_currentRow][m_currentCol];
+                int secsTillStart =
+                    (pginfo) ? MythDate::current().secsTo(
+                       	pginfo->GetScheduledStartTime()) : 0;
+                int secsTillEnd =
+                    (pginfo) ? MythDate::current().secsTo(
+                        pginfo->GetScheduledEndTime()) : 0;
+                if (pginfo && (pginfo->GetTitle() != kUnknownTitle) &&
+                    (
+                        ((abs(secsTillStart / 60)) < m_selectRecThreshold) ||
+                        ((abs(secsTillEnd / 60)) < m_selectRecThreshold) ||
+                        (
+                            (secsTillStart < 0) &&
+                            (secsTillEnd > 0) &&
+                            (m_selectRecThreshold > 0)
+                        )
+                    ))
+                {
+                    ShowMenu();
+                }
+                else
+                {
+                    EditRecording();
+                }
+            }
             else
                 EditRecording();
         }
--- a/mythtv/programs/mythfrontend/globalsettings.cpp	2017-04-06 12:04:32.368493754 +0930
+++ b/mythtv/programs/mythfrontend/globalsettings.cpp	2017-04-06 12:09:41.237880595 +0930
@@ -2940,7 +2940,7 @@
 
 static HostSpinBox *EPGRecThreshold()
 {
-    HostSpinBox *gs = new HostSpinBox("SelChangeRecThreshold", 1, 600, 1);
+    HostSpinBox *gs = new HostSpinBox("SelChangeRecThreshold", 0, 600, 1);
 
     gs->setLabel(EPGSettings::tr("Record threshold"));
 
@@ -2948,7 +2948,11 @@
 
     gs->setHelpText(EPGSettings::tr("Pressing SELECT on a show that is at "
                                     "least this many minutes into the future "
-                                    "will schedule a recording."));
+                                    "will schedule a recording. "
+                                    "Pressing SELECT on a show that is within "
+                                    "this many minutes will pop-up the option "
+                                    "for Watch TV instead of Edit Recording. "
+                                    "Set to 0 to always Edit Recording."));
     return gs;
 }

