diff -r -u -X diff.exclude myth.15279.0101a/mythtv/libs/libmythtv/tv_play.cpp myth.15279.0101b/mythtv/libs/libmythtv/tv_play.cpp
--- mythtv/libs/libmythtv/tv_play.cpp	2008-01-01 06:32:05.000000000 -0600
+++ mythtv/libs/libmythtv/tv_play.cpp	2008-01-03 09:21:05.000000000 -0600
@@ -7646,9 +7646,16 @@
  */
 bool TV::BookmarkAllowed(void)
 {
+    // Allow bookmark of "Record current LiveTV program"
+    if (StateIsLiveTV(GetState()) && playbackinfo &&
+        (playbackinfo->GetAutoExpireFromRecorded() == kLiveTVAutoExpire))
+        return false;
+
+    if (StateIsLiveTV(GetState()) && ! playbackinfo)
+        return false;
+
     if ((prbuffer->isDVD() && (!gContext->GetNumSetting("EnableDVDBookmark", 0)
-        || prbuffer->DVD()->GetTotalTimeOfTitle() < 120)) ||
-        StateIsLiveTV(GetState()))
+        || prbuffer->DVD()->GetTotalTimeOfTitle() < 120)))
         return false;
 
     return true;
