--- a/mythtv/programs/mythfrontend/guidegrid.cpp	2017-03-21 16:32:32.003323807 +1030
+++ b/mythtv/programs/mythfrontend/guidegrid.cpp	2017-03-22 06:56:51.796684706 +1030
@@ -825,6 +825,34 @@
                     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))
+                    ))
+                {
+                    ShowMenu();
+                }
+                else
+                {
+                    EditRecording();
+                }
+            }
             else
                 EditRecording();
         }
