Index: libs/libmythtv/channelbase.cpp
===================================================================
--- libs/libmythtv/channelbase.cpp	(revision 8406)
+++ libs/libmythtv/channelbase.cpp	(working copy)
@@ -413,17 +413,17 @@
     const QMap<int, QString> &startChanNum)
 {
     int cardid = GetCardID();
-    QString querystr, input;
 
     MSqlQuery query(MSqlQuery::InitCon());
 
-    for (int i = 0;; i++)
+    QMap<int, QString>::const_iterator it = startChanNum.begin();
+
+    for (; it != startChanNum.end(); ++it)
     {
-        input = GetInputByNum(i);
-        if (input.isEmpty())
-            break;
+	int i = it.key();
+        QString input = GetInputByNum(i);
 
-        if (startChanNum[i].isEmpty())
+        if (input.isEmpty() || startChanNum[i].isEmpty())
             continue;
 
         query.prepare(
