Index: libs/libmythtv/guidegrid.h
===================================================================
--- libs/libmythtv/guidegrid.h	(revision 12901)
+++ libs/libmythtv/guidegrid.h	(working copy)
@@ -165,6 +165,7 @@
     QDateTime lastTime;
 
     TV *m_player;
+    int playerLetterbox;
 
     QString channelOrdering;
     QString dateformat;
Index: libs/libmythtv/tv_play.h
===================================================================
--- libs/libmythtv/tv_play.h	(revision 12901)
+++ libs/libmythtv/tv_play.h	(working copy)
@@ -188,6 +188,10 @@
 
     void SetIgnoreKeys(bool ignore) { ignoreKeys = ignore; }
 
+    void ToggleLetterbox(int letterboxMode = -1);
+    void ToggleLetterbox(int letterboxMode, bool silent);
+    int GetLetterbox(void);
+
   public slots:
     void HandleOSDClosed(int osdType);
 
@@ -233,7 +237,6 @@
 
     void ChangeVolume(bool up);
     void ToggleMute(void);
-    void ToggleLetterbox(int letterboxMode = -1);
 
     bool FillMenuTracks(OSDGenericTree*, uint type);
     void ChangeTrack(uint type, int dir);
Index: libs/libmythtv/guidegrid.cpp
===================================================================
--- libs/libmythtv/guidegrid.cpp	(revision 12901)
+++ libs/libmythtv/guidegrid.cpp	(working copy)
@@ -552,8 +552,12 @@
     {
         if (m_player->IsRunning() == true && videoRect.width() > 0 &&
             videoRect.height() > 0)
+        {
             m_player->EmbedOutput(this->winId(), videoRect.x(), videoRect.y(),
                                   videoRect.width(), videoRect.height());
+            playerLetterbox = m_player->GetLetterbox();
+            m_player->ToggleLetterbox(kLetterbox_Off, true);
+        }
     }
 
     fillProgramInfos();
@@ -1610,8 +1614,12 @@
     setFocus();
 
     if (m_player && videoRect.height() > 0 && videoRect.width() > 0)
+    {
         m_player->EmbedOutput(this->winId(), videoRect.x(), videoRect.y(), 
                               videoRect.width(), videoRect.height());
+        playerLetterbox = m_player->GetLetterbox();
+        m_player->ToggleLetterbox(kLetterbox_Off, true);
+    }
 }
 
 void GuideGrid::enter()
@@ -1620,7 +1628,10 @@
     {
         timeCheck->stop();
         if (m_player)
+        {
             m_player->StopEmbeddingOutput();
+            m_player->ToggleLetterbox(playerLetterbox, true);
+        }
     }
 
     unsetCursor();
@@ -1634,7 +1645,10 @@
     {
         timeCheck->stop();
         if (m_player)
+        {
             m_player->StopEmbeddingOutput();
+            m_player->ToggleLetterbox(playerLetterbox, true);
+        }
     }
 
     unsetCursor();
Index: libs/libmythtv/tv_play.cpp
===================================================================
--- libs/libmythtv/tv_play.cpp	(revision 12901)
+++ libs/libmythtv/tv_play.cpp	(working copy)
@@ -5485,6 +5485,11 @@
 
 void TV::ToggleLetterbox(int letterboxMode)
 {
+    ToggleLetterbox(letterboxMode, false);
+}
+
+void TV::ToggleLetterbox(int letterboxMode, bool silent)
+{
     nvp->ToggleLetterbox(letterboxMode);
     int letterbox = nvp->GetLetterbox();
     QString text;
@@ -5500,10 +5505,17 @@
         default:                      text = tr("Off"); break;
     }
 
-    if (GetOSD() && !browsemode && !GetOSD()->IsRunningTreeMenu())
+    if (GetOSD() && !browsemode && !GetOSD()->IsRunningTreeMenu() && !silent)
         GetOSD()->SetSettingsText(text, 3);
 }
 
+int TV::GetLetterbox(void)
+{
+    if (nvp)
+        return nvp->GetLetterbox();
+    return false;
+}
+
 void TV::EPGChannelUpdate(uint chanid, QString channum)
 {
     if (chanid && !channum.isEmpty())
