diff -Naur mythtv-0.25-20120807-g46cab93-old/mythtv/libs/libmythtv/dvbchannel.cpp mythtv-0.25-20120807-g46cab93-new/mythtv/libs/libmythtv/dvbchannel.cpp
--- mythtv-0.25-20120807-g46cab93-old/mythtv/libs/libmythtv/dvbchannel.cpp	2012-08-10 21:47:02.000000000 +0200
+++ mythtv-0.25-20120807-g46cab93-new/mythtv/libs/libmythtv/dvbchannel.cpp	2012-08-10 22:07:56.154705937 +0200
@@ -679,58 +679,8 @@
     // Remove any events in queue before tuning.
     drain_dvb_events(fd_frontend);
 
-    // send DVB-S setup
-    if (diseqc_tree)
-    {
-        // configure for new input
-        if (!same_input)
-            diseqc_settings.Load(inputid);
-
-        // execute diseqc commands
-        if (!diseqc_tree->Execute(diseqc_settings, tuning))
-        {
-            LOG(VB_GENERAL, LOG_ERR, LOC +
-                "Tune(): Failed to setup DiSEqC devices");
-            return false;
-        }
-
-        // retrieve actual intermediate frequency
-        DiSEqCDevLNB *lnb = diseqc_tree->FindLNB(diseqc_settings);
-        if (!lnb)
-        {
-            LOG(VB_GENERAL, LOG_ERR, LOC +
-                "Tune(): No LNB for this configuration");
-            return false;
-        }
-
-        if (lnb->GetDeviceID() != last_lnb_dev_id)
-        {
-            last_lnb_dev_id = lnb->GetDeviceID();
-            // make sure we tune to frequency, if the lnb has changed
-            reset = first_tune = true;
-        }
-
-        intermediate_freq = lnb->GetIntermediateFrequency(
-            diseqc_settings, tuning);
-
-        // retrieve scr intermediate frequency
-        DiSEqCDevSCR *scr = diseqc_tree->FindSCR(diseqc_settings);
-        if (lnb && scr)
-        {
-            intermediate_freq = scr->GetIntermediateFrequency(intermediate_freq);
-        }
-
-        // if card can auto-FEC, use it -- sometimes NITs are inaccurate
-        if (capabilities & FE_CAN_FEC_AUTO)
-            can_fec_auto = true;
-
-        // Check DVB-S intermediate frequency here since it requires a fully
-        // initialized diseqc tree
-        CheckFrequency(intermediate_freq);
-    }
-
-    LOG(VB_CHANNEL, LOG_INFO, LOC + "Old Params: " + prev_tuning.toString() +
-            "\n\t\t\t" + LOC + "New Params: " + tuning.toString());
+    LOG(VB_CHANNEL, LOG_INFO, LOC + "\nOld Params: " + prev_tuning.toString() +
+            "\nNew Params: " + tuning.toString());
 
     // DVB-S is in kHz, other DVB is in Hz
     bool is_dvbs = ((DTVTunerType::kTunerTypeDVBS1 == tunerType) ||
@@ -744,6 +694,56 @@
                 .arg(intermediate_freq ? intermediate_freq : tuning.frequency)
                 .arg(suffix));
 
+        // send DVB-S setup
+        if (diseqc_tree)
+        {
+            // configure for new input
+            if (!same_input)
+                diseqc_settings.Load(inputid);
+
+            // execute diseqc commands
+            if (!diseqc_tree->Execute(diseqc_settings, tuning))
+            {
+                LOG(VB_GENERAL, LOG_ERR, LOC +
+                    "Tune(): Failed to setup DiSEqC devices");
+                return false;
+            }
+
+            // retrieve actual intermediate frequency
+            DiSEqCDevLNB *lnb = diseqc_tree->FindLNB(diseqc_settings);
+            if (!lnb)
+            {
+                LOG(VB_GENERAL, LOG_ERR, LOC +
+                    "Tune(): No LNB for this configuration");
+                return false;
+            }
+
+            if (lnb->GetDeviceID() != last_lnb_dev_id)
+            {
+                last_lnb_dev_id = lnb->GetDeviceID();
+                // make sure we tune to frequency, if the lnb has changed
+                reset = first_tune = true;
+            }
+
+            intermediate_freq = lnb->GetIntermediateFrequency(
+                diseqc_settings, tuning);
+
+            // retrieve scr intermediate frequency
+            DiSEqCDevSCR *scr = diseqc_tree->FindSCR(diseqc_settings);
+            if (lnb && scr)
+            {
+                intermediate_freq = scr->GetIntermediateFrequency(intermediate_freq);
+            }
+
+            // if card can auto-FEC, use it -- sometimes NITs are inaccurate
+            if (capabilities & FE_CAN_FEC_AUTO)
+                can_fec_auto = true;
+
+            // Check DVB-S intermediate frequency here since it requires a fully
+            // initialized diseqc tree
+            CheckFrequency(intermediate_freq);
+        }
+
 #if DVB_API_VERSION >=5
         if (DTVTunerType::kTunerTypeDVBS2 == tunerType)
         {
