--- mythtv/libs/libmythtv/channel.cpp.orig	2005-08-30 22:26:35.000000000 +0000
+++ mythtv/libs/libmythtv/channel.cpp	2005-08-30 22:41:50.000000000 +0000
@@ -523,22 +523,25 @@
 
     inputChannel[currentcapchannel] = curchannelname;
 
-    // Tune
-    if (externalChanger[currentcapchannel].isEmpty())
+    // Tune if freqid is defined. Non frequency based inputs are ignored.
+    if (!freqid.isEmpty()) 
     {
-        if (isFrequency)
+        if (externalChanger[currentcapchannel].isEmpty())
         {
-            if (!Tune(frequency))
-                return false;
-        }
-        else
-        {
-            if (!TuneTo(freqid, finetune))
-                return false;
+            if (isFrequency)
+            {
+                if (!Tune(frequency))
+                    return false;
+            }
+            else
+            {
+                if (!TuneTo(freqid, finetune))
+                    return false;
+            }
         }
+        else if (!ChangeExternalChannel(freqid))
+            return false;
     }
-    else if (!ChangeExternalChannel(freqid))
-        return false;
 
     SetCachedATSCInfo(atsc_chan);
 
