Index: libs/libmythtv/tv_rec.cpp
===================================================================
--- libs/libmythtv/tv_rec.cpp	(revision 12761)
+++ libs/libmythtv/tv_rec.cpp	(working copy)
@@ -3232,6 +3232,26 @@
         else
             TuningNewRecorder(streamData);
 
+        // Make sure DTV recorder sees the tables..
+        if (GetDTVChannel() && GetDTVRecorder())
+        {
+            DTVChannel *dtvc = GetDTVChannel();
+            const QString tuningmode = dtvc->GetTuningMode();
+            MPEGStreamData *sd = GetDTVRecorder()->GetStreamData();
+
+            if (sd && (tuningmode.left(4) == "atsc"))
+            {
+                ATSCStreamData *asd = dynamic_cast<ATSCStreamData*>(sd);
+                int major = dtvc->GetMajorChannel();
+                int minor = dtvc->GetMinorChannel();
+                if (asd && (minor > 0))
+                    asd->SetDesiredChannel(major, minor);
+            }
+
+            if (sd && (dtvc->GetProgramNumber() >= 0))
+                sd->SetDesiredProgram(dtvc->GetProgramNumber());
+        }
+
         // If we got this far it is safe to set a new starting channel...
         if (channel)
             channel->StoreInputChannels();
