diff -urp ../mythtv-orig/libs/libmythtv/programinfo.cpp ./libs/libmythtv/programinfo.cpp
--- ../mythtv-orig/libs/libmythtv/programinfo.cpp	2007-05-04 22:31:17.000000000 -0400
+++ ./libs/libmythtv/programinfo.cpp	2007-05-18 22:45:13.000000000 -0400
@@ -70,6 +70,7 @@ ProgramInfo::ProgramInfo(void)
     spread = -1;
     startCol = -1;
     isVideo = false;
+    isDVDImage= false;
     lenMins = 0;
 
     title = "";
@@ -167,6 +168,7 @@ ProgramInfo &ProgramInfo::clone(const Pr
     }
     
     isVideo = other.isVideo;
+    isDVDImage = other.isDVDImage;
     lenMins = other.lenMins;
     
     title = QDeepCopy<QString>(other.title);
diff -urp ../mythtv-orig/libs/libmythtv/programinfo.h ./libs/libmythtv/programinfo.h
--- ../mythtv-orig/libs/libmythtv/programinfo.h	2007-05-04 22:31:17.000000000 -0400
+++ ./libs/libmythtv/programinfo.h	2007-05-18 22:42:25.000000000 -0400
@@ -294,6 +294,7 @@ class MPUBLIC ProgramInfo
     AvailableStatusType availableStatus;
     
     bool isVideo;
+    bool isDVDImage;
     int lenMins;
     
     QString year;
diff -urp ../mythtv-orig/libs/libmythtv/tv_play.cpp ./libs/libmythtv/tv_play.cpp
--- ../mythtv-orig/libs/libmythtv/tv_play.cpp	2007-05-04 22:31:17.000000000 -0400
+++ ./libs/libmythtv/tv_play.cpp	2007-05-18 22:51:50.000000000 -0400
@@ -4543,7 +4543,7 @@ void TV::ToggleOSD(bool includeStatusOSD
         return;
         
     // DVD toggles between status and nothing
-    if (activerbuffer->isDVD())
+    if (activerbuffer->isDVD() && !playbackinfo->isDVDImage)
     {
         if (osd->IsSetDisplaying("status"))
             osd->HideAll();
diff -urp ../mythtv-orig/programs/mythfrontend/main.cpp ./programs/mythfrontend/main.cpp
--- ../mythtv-orig/programs/mythfrontend/main.cpp	2007-05-04 22:31:34.000000000 -0400
+++ ./programs/mythfrontend/main.cpp	2007-05-18 22:54:03.000000000 -0400
@@ -559,9 +559,12 @@ int internal_play_media(const QString &m
     pginfo->pathname = mrl;
     
     QDir d(mrl + "/VIDEO_TS");
+    
     if (mrl.findRev(".iso", -1, false) == (int)mrl.length() - 4 ||
-        mrl.findRev(".img", -1, false) == (int)mrl.length() - 4 ||
-        d.exists())
+        mrl.findRev(".img", -1, false) == (int)mrl.length() - 4)
+        pginfo->isDVDImage = true;
+        
+    if(pginfo->isDVDImage || d.exists())
     {
         pginfo->pathname = QString("dvd:%1").arg(mrl);
     }
