Index: libs/libmythtv/videosource.cpp
===================================================================
--- libs/libmythtv/videosource.cpp	(revision 10734)
+++ libs/libmythtv/videosource.cpp	(working copy)
@@ -2376,7 +2376,7 @@
 
     DTVDeviceTreeWizard diseqcWiz(tree);
     diseqcWiz.exec();
-    defaultinput->fillSelections(tree.Root() != NULL);
+    defaultinput->fillSelections(DTVDeviceNeedsConfiguration(tree));
 #endif // USING_DVB
 }
 
@@ -2385,7 +2385,7 @@
     VerticalConfigurationGroup::load();
 #ifdef USING_DVB
     tree.Load(parent.getCardID());
-    defaultinput->fillSelections(tree.Root() != NULL);
+    defaultinput->fillSelections(DTVDeviceNeedsConfiguration(tree));
 #endif
 }
 
Index: libs/libmythtv/diseqcsettings.cpp
===================================================================
--- libs/libmythtv/diseqcsettings.cpp	(revision 10734)
+++ libs/libmythtv/diseqcsettings.cpp	(working copy)
@@ -1071,20 +1071,15 @@
 
 bool DTVDeviceNeedsConfiguration(uint cardid)
 {
-    MSqlQuery query(MSqlQuery::InitCon());
-    query.prepare(
-        "SELECT type "
-        "FROM diseqc_tree, capturecard "
-        "WHERE capturecard.diseqcid = diseqc_tree.diseqcid AND"
-        "      capturecard.cardid = :CARDID");
-    query.bindValue(":CARDID", cardid);
+    DiSEqCDev dev;
+    DiSEqCDevTree *diseqc_tree = dev.FindTree(cardid);
+    return diseqc_tree ? DTVDeviceNeedsConfiguration(*diseqc_tree) : false;
+}
 
-    if (!query.exec() || !query.isActive())
-        MythContext::DBError("DTVDeviceNeedsConfiguration", query);
-    else if (query.next())
-        return (query.value(0).toString().lower() != "lnb");
-
-    return false;
+bool DTVDeviceNeedsConfiguration(DiSEqCDevTree& tree)
+{
+    DiSEqCDevDevice *root = tree.Root();
+    return (root && root->GetDeviceType() != DiSEqCDevDevice::kTypeLNB);
 }
 
 //////////////////////////////////////// DTVDeviceConfigWizard
Index: libs/libmythtv/diseqcsettings.h
===================================================================
--- libs/libmythtv/diseqcsettings.h	(revision 10734)
+++ libs/libmythtv/diseqcsettings.h	(working copy)
@@ -12,7 +12,8 @@
 
 typedef QMap<uint, Setting*> devid_to_setting_t;
 
-bool DTVDeviceNeedsConfiguration(uint input_id);
+bool DTVDeviceNeedsConfiguration(uint cardid);
+bool DTVDeviceNeedsConfiguration(DiSEqCDevTree& tree);
 
 class SwitchTypeSetting;
 class SwitchPortsSetting;
