Index: libs/libmythtv/guidegrid.h
===================================================================
--- libs/libmythtv/guidegrid.h	(revision 14545)
+++ libs/libmythtv/guidegrid.h	(working copy)
@@ -29,7 +29,7 @@
 MPUBLIC
 bool RunProgramGuide(uint &startChanId, QString &startChanNum,
                      bool thread = false, TV *player = NULL,
-                     bool allowsecondaryepg = true);
+                     bool allowsecondaryepg = true, bool needsresize = false);
 
 
 class GuideGrid : public MythDialog
Index: libs/libmythtv/guidegrid.cpp
===================================================================
--- libs/libmythtv/guidegrid.cpp	(revision 14545)
+++ libs/libmythtv/guidegrid.cpp	(working copy)
@@ -36,10 +36,13 @@
 
 bool RunProgramGuide(uint &chanid, QString &channum,
                      bool thread, TV *player,
-                     bool allowsecondaryepg)
+                     bool allowsecondaryepg, bool needsresize)
 {
     bool channel_changed = false;
 
+    int x, y, width, height;
+    float xm, ym;
+
     if (thread)
         qApp->lock();
 
@@ -49,6 +52,14 @@
                                   chanid, channum,
                                   player, allowsecondaryepg, "guidegrid");
 
+    bool using_gui_size_for_tv = gContext->GetNumSetting("GuiSizeForTV", 0);
+    if (needsresize && !using_gui_size_for_tv)
+    {
+        gContext->GetScreenSettings(x, width, xm, y, height, ym);
+        gg->setGeometry(x, y, width, height);
+        gg->setFixedSize(QSize(width, height));
+    }
+
     gg->Show();
 
     if (thread)
Index: libs/libmythtv/progfind.h
===================================================================
--- libs/libmythtv/progfind.h	(revision 14545)
+++ libs/libmythtv/progfind.h	(working copy)
@@ -24,7 +24,7 @@
 class QWidget;
 class TV;
 
-MPUBLIC void RunProgramFind(bool thread = false, bool ggActive = false);
+MPUBLIC void RunProgramFind(bool thread = false, bool ggActive = false, bool needsresize = false);
 
 class ProgFinder : public MythDialog
 {
Index: libs/libmythtv/tv_play.cpp
===================================================================
--- libs/libmythtv/tv_play.cpp	(revision 14545)
+++ libs/libmythtv/tv_play.cpp	(working copy)
@@ -5127,7 +5127,7 @@
                     allowsecondary = nvp->getVideoOutput()->AllowPreviewEPG();
 
                 // Start up EPG
-                changeChannel = RunProgramGuide(chanid, channum, true, this, allowsecondary);
+                changeChannel = RunProgramGuide(chanid, channum, true, this, allowsecondary, true);
                 break;
             }
             case kPlaybackBox:
@@ -5169,10 +5169,10 @@
         {
             default:
             case kScheduleProgramGuide:
-                RunProgramGuide(chanid, channum, true);
+                RunProgramGuide(chanid, channum, true, NULL, true, true);
                 break;
             case kScheduleProgramFinder:
-                RunProgramFind(true, false);
+                RunProgramFind(true, false, true);
                 break;
             case kScheduledRecording:
             {
Index: libs/libmythtv/progfind.cpp
===================================================================
--- libs/libmythtv/progfind.cpp	(revision 14545)
+++ libs/libmythtv/progfind.cpp	(working copy)
@@ -34,8 +34,11 @@
 #include "libmyth/mythcontext.h"
 #include "libmyth/mythdbcon.h"
 
-void RunProgramFind(bool thread, bool ggActive)
+void RunProgramFind(bool thread, bool ggActive, bool needsresize)
 {
+    int x, y, width, height;
+    float xm, ym;
+
     if (thread)
         qApp->lock();
 
@@ -54,6 +57,14 @@
         programFind = new ProgFinder(gContext->GetMainWindow(),
                                      "program finder", ggActive);
 
+    bool using_gui_size_for_tv = gContext->GetNumSetting("GuiSizeForTV", 0);
+    if (needsresize && !using_gui_size_for_tv)
+    {
+        gContext->GetScreenSettings(x, width, xm, y, height, ym);
+        programFind->setGeometry(x, y, width, height);
+        programFind->setFixedSize(QSize(width, height));
+    }
+
     programFind->Initialize();
     programFind->Show();
