Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.cs	(working copy)
@@ -516,10 +516,23 @@
           {
             Channel dbChannel;
             DVBCChannel channel = (DVBCChannel)channels[i];
-            //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
-            //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
-            TuningDetail currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId, TvBusinessLayer.GetChannelType(channel));
             bool exists;
+            TuningDetail currentDetail;
+            //User has option to skip channel move detection. There are certain providers that do not have a unique ONID + SID combination. ONID + TSID + SID is however unique.
+            if (!chkNoChannelMoveDetection.Checked)
+            {
+              //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
+              //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+            else
+            {
+              //Find the current tuningdetail if we have that.
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.TransportId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+
             if (currentDetail == null)
             {
               //add new channel
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.Designer.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.Designer.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbC.Designer.cs	(working copy)
@@ -52,6 +52,7 @@
       this.progressBarQuality = new System.Windows.Forms.ProgressBar();
       this.listViewStatus = new System.Windows.Forms.ListView();
       this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
+      this.checkBoxCreateSignalGroup = new System.Windows.Forms.CheckBox();
       this.checkBoxCreateGroups = new System.Windows.Forms.CheckBox();
       this.mpButtonScanTv = new MediaPortal.UserInterface.Controls.MPButton();
       this.mpLabel6 = new MediaPortal.UserInterface.Controls.MPLabel();
@@ -59,7 +60,7 @@
       this.mpComboBoxRegion = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.mpComboBoxCountry = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.tabPageCIMenu = new System.Windows.Forms.TabPage();
-      this.checkBoxCreateSignalGroup = new System.Windows.Forms.CheckBox();
+      this.chkNoChannelMoveDetection = new System.Windows.Forms.CheckBox();
       this.tabControl1.SuspendLayout();
       this.tabPageScan.SuspendLayout();
       this.mpGrpAdvancedTuning.SuspendLayout();
@@ -83,6 +84,7 @@
       // tabPageScan
       // 
       this.tabPageScan.BackColor = System.Drawing.SystemColors.Control;
+      this.tabPageScan.Controls.Add(this.chkNoChannelMoveDetection);
       this.tabPageScan.Controls.Add(this.checkBoxAdvancedTuning);
       this.tabPageScan.Controls.Add(this.mpGrpAdvancedTuning);
       this.tabPageScan.Controls.Add(this.mpGrpScanProgress);
@@ -372,6 +374,16 @@
       this.columnHeader1.Text = "Status";
       this.columnHeader1.Width = 450;
       // 
+      // checkBoxCreateSignalGroup
+      // 
+      this.checkBoxCreateSignalGroup.AutoSize = true;
+      this.checkBoxCreateSignalGroup.Location = new System.Drawing.Point(194, 62);
+      this.checkBoxCreateSignalGroup.Name = "checkBoxCreateSignalGroup";
+      this.checkBoxCreateSignalGroup.Size = new System.Drawing.Size(159, 17);
+      this.checkBoxCreateSignalGroup.TabIndex = 8;
+      this.checkBoxCreateSignalGroup.Text = "Create \"Digital Cable\" group";
+      this.checkBoxCreateSignalGroup.UseVisualStyleBackColor = true;
+      // 
       // checkBoxCreateGroups
       // 
       this.checkBoxCreateGroups.AutoSize = true;
@@ -438,15 +450,15 @@
       this.tabPageCIMenu.TabIndex = 1;
       this.tabPageCIMenu.Text = "CI Menu";
       // 
-      // checkBoxCreateSignalGroup
+      // chkNoChannelMoveDetection
       // 
-      this.checkBoxCreateSignalGroup.AutoSize = true;
-      this.checkBoxCreateSignalGroup.Location = new System.Drawing.Point(194, 62);
-      this.checkBoxCreateSignalGroup.Name = "checkBoxCreateSignalGroup";
-      this.checkBoxCreateSignalGroup.Size = new System.Drawing.Size(159, 17);
-      this.checkBoxCreateSignalGroup.TabIndex = 8;
-      this.checkBoxCreateSignalGroup.Text = "Create \"Digital Cable\" group";
-      this.checkBoxCreateSignalGroup.UseVisualStyleBackColor = true;
+      this.chkNoChannelMoveDetection.AutoSize = true;
+      this.chkNoChannelMoveDetection.Location = new System.Drawing.Point(194, 85);
+      this.chkNoChannelMoveDetection.Name = "chkNoChannelMoveDetection";
+      this.chkNoChannelMoveDetection.Size = new System.Drawing.Size(217, 17);
+      this.chkNoChannelMoveDetection.TabIndex = 106;
+      this.chkNoChannelMoveDetection.Text = "Do not detect that a channel has moved";
+      this.chkNoChannelMoveDetection.UseVisualStyleBackColor = true;
       // 
       // CardDvbC
       // 
@@ -502,6 +514,7 @@
     private System.Windows.Forms.RadioButton scanSingleTransponder;
     private System.Windows.Forms.RadioButton scanPredefProvider;
     private System.Windows.Forms.CheckBox checkBoxCreateSignalGroup;
+    private System.Windows.Forms.CheckBox chkNoChannelMoveDetection;
 
   }
 }
\ No newline at end of file
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.cs	(working copy)
@@ -227,7 +227,6 @@
           int newChannels = 0;
           int updatedChannels = 0;
 
-          bool exists;
           for (int i = 0; i < channels.Length; ++i)
           {
             Channel dbChannel;
@@ -243,9 +242,23 @@
             {
               channel.Name = name;
             }
-            //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
-            //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
-            TuningDetail currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId, TvBusinessLayer.GetChannelType(channel));
+            bool exists;
+            TuningDetail currentDetail;
+            //User has option to skip channel move detection. There are certain providers that do not have a unique ONID + SID combination. ONID + TSID + SID is however unique.
+            if (!chkNoChannelMoveDetection.Checked)
+            {
+              //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
+              //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+            else
+            {
+              //Find the current tuningdetail if we have that.
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.TransportId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+
             if (currentDetail == null)
             {
               //add new channel
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.Designer.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.Designer.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbIP.Designer.cs	(working copy)
@@ -40,6 +40,7 @@
       this.mpLabel1 = new MediaPortal.UserInterface.Controls.MPLabel();
       this.mpComboBoxService = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.mpBeveledLine1 = new MediaPortal.UserInterface.Controls.MPBeveledLine();
+      this.chkNoChannelMoveDetection = new System.Windows.Forms.CheckBox();
       this.SuspendLayout();
       // 
       // checkBoxCreateGroups
@@ -155,10 +156,21 @@
       this.mpBeveledLine1.Size = new System.Drawing.Size(423, 43);
       this.mpBeveledLine1.TabIndex = 77;
       // 
+      // chkNoChannelMoveDetection
+      // 
+      this.chkNoChannelMoveDetection.AutoSize = true;
+      this.chkNoChannelMoveDetection.Location = new System.Drawing.Point(24, 343);
+      this.chkNoChannelMoveDetection.Name = "chkNoChannelMoveDetection";
+      this.chkNoChannelMoveDetection.Size = new System.Drawing.Size(217, 17);
+      this.chkNoChannelMoveDetection.TabIndex = 106;
+      this.chkNoChannelMoveDetection.Text = "Do not detect that a channel has moved";
+      this.chkNoChannelMoveDetection.UseVisualStyleBackColor = true;
+      // 
       // CardDvbIP
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.chkNoChannelMoveDetection);
       this.Controls.Add(this.checkBoxCreateGroups);
       this.Controls.Add(this.listViewStatus);
       this.Controls.Add(this.progressBarQuality);
@@ -192,6 +204,7 @@
     private MediaPortal.UserInterface.Controls.MPLabel mpLabel1;
     private MediaPortal.UserInterface.Controls.MPComboBox mpComboBoxService;
     private MediaPortal.UserInterface.Controls.MPBeveledLine mpBeveledLine1;
+    private System.Windows.Forms.CheckBox chkNoChannelMoveDetection;
 
   }
 }
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.cs	(working copy)
@@ -1070,10 +1070,23 @@
         {
           Channel dbChannel;
           DVBSChannel channel = (DVBSChannel)channels[i];
-          //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
-          //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
-          TuningDetail currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId, TvBusinessLayer.GetChannelType(channel));
           bool exists;
+          TuningDetail currentDetail;
+          //User has option to skip channel move detection. There are certain providers that do not have a unique ONID + SID combination. ONID + TSID + SID is however unique.
+          if (!chkNoChannelMoveDetection.Checked)
+          {
+            //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
+            //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
+            currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId,
+                                                               TvBusinessLayer.GetChannelType(channel));
+          }
+          else
+          {
+            //Find the current tuningdetail if we have that.
+            currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.TransportId, channel.ServiceId,
+                                                               TvBusinessLayer.GetChannelType(channel));
+          }
+
           if (currentDetail == null)
           {
             //add new channel
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.Designer.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.Designer.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbS.Designer.cs	(working copy)
@@ -136,6 +136,7 @@
       this.mpComboBox1 = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.textBox2 = new System.Windows.Forms.TextBox();
       this.mpLabel13 = new MediaPortal.UserInterface.Controls.MPLabel();
+      this.chkNoChannelMoveDetection = new System.Windows.Forms.CheckBox();
       this.tabControl1.SuspendLayout();
       this.tabPage1.SuspendLayout();
       this.mpGrpAdvancedTuning.SuspendLayout();
@@ -220,7 +221,7 @@
             this.columnHeader1});
       this.listViewStatus.Location = new System.Drawing.Point(19, 79);
       this.listViewStatus.Name = "listViewStatus";
-      this.listViewStatus.Size = new System.Drawing.Size(421, 113);
+      this.listViewStatus.Size = new System.Drawing.Size(421, 94);
       this.listViewStatus.TabIndex = 67;
       this.listViewStatus.UseCompatibleStateImageBehavior = false;
       this.listViewStatus.View = System.Windows.Forms.View.Details;
@@ -258,6 +259,7 @@
       // tabPage1
       // 
       this.tabPage1.BackColor = System.Drawing.SystemColors.Control;
+      this.tabPage1.Controls.Add(this.chkNoChannelMoveDetection);
       this.tabPage1.Controls.Add(this.mpLabel9);
       this.tabPage1.Controls.Add(this.checkBoxCreateSignalGroup);
       this.tabPage1.Controls.Add(this.mpLNB1);
@@ -625,9 +627,9 @@
       this.mpGrpAdvancedTuning.Controls.Add(this.mpLabel17);
       this.mpGrpAdvancedTuning.Controls.Add(this.mpComboBoxPolarisation);
       this.mpGrpAdvancedTuning.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
-      this.mpGrpAdvancedTuning.Location = new System.Drawing.Point(1, 205);
+      this.mpGrpAdvancedTuning.Location = new System.Drawing.Point(1, 224);
       this.mpGrpAdvancedTuning.Name = "mpGrpAdvancedTuning";
-      this.mpGrpAdvancedTuning.Size = new System.Drawing.Size(449, 195);
+      this.mpGrpAdvancedTuning.Size = new System.Drawing.Size(449, 176);
       this.mpGrpAdvancedTuning.TabIndex = 112;
       this.mpGrpAdvancedTuning.TabStop = false;
       this.mpGrpAdvancedTuning.Text = "Advanced tuning options";
@@ -636,7 +638,7 @@
       // label16
       // 
       this.label16.AutoSize = true;
-      this.label16.Location = new System.Drawing.Point(304, 167);
+      this.label16.Location = new System.Drawing.Point(304, 154);
       this.label16.Name = "label16";
       this.label16.Size = new System.Drawing.Size(32, 13);
       this.label16.TabIndex = 116;
@@ -644,21 +646,21 @@
       // 
       // textBoxLNBSwitch
       // 
-      this.textBoxLNBSwitch.Location = new System.Drawing.Point(212, 164);
+      this.textBoxLNBSwitch.Location = new System.Drawing.Point(212, 151);
       this.textBoxLNBSwitch.Name = "textBoxLNBSwitch";
       this.textBoxLNBSwitch.Size = new System.Drawing.Size(71, 20);
       this.textBoxLNBSwitch.TabIndex = 114;
       // 
       // textBoxLNBHi
       // 
-      this.textBoxLNBHi.Location = new System.Drawing.Point(105, 164);
+      this.textBoxLNBHi.Location = new System.Drawing.Point(105, 151);
       this.textBoxLNBHi.Name = "textBoxLNBHi";
       this.textBoxLNBHi.Size = new System.Drawing.Size(71, 20);
       this.textBoxLNBHi.TabIndex = 113;
       // 
       // textBoxLNBLo
       // 
-      this.textBoxLNBLo.Location = new System.Drawing.Point(4, 164);
+      this.textBoxLNBLo.Location = new System.Drawing.Point(4, 151);
       this.textBoxLNBLo.Name = "textBoxLNBLo";
       this.textBoxLNBLo.Size = new System.Drawing.Size(71, 20);
       this.textBoxLNBLo.TabIndex = 112;
@@ -666,7 +668,7 @@
       // chkOverrideLNB
       // 
       this.chkOverrideLNB.AutoSize = true;
-      this.chkOverrideLNB.Location = new System.Drawing.Point(4, 125);
+      this.chkOverrideLNB.Location = new System.Drawing.Point(4, 112);
       this.chkOverrideLNB.Name = "chkOverrideLNB";
       this.chkOverrideLNB.Size = new System.Drawing.Size(186, 17);
       this.chkOverrideLNB.TabIndex = 111;
@@ -677,7 +679,7 @@
       // label14
       // 
       this.label14.AutoSize = true;
-      this.label14.Location = new System.Drawing.Point(209, 145);
+      this.label14.Location = new System.Drawing.Point(209, 132);
       this.label14.Name = "label14";
       this.label14.Size = new System.Drawing.Size(90, 13);
       this.label14.TabIndex = 110;
@@ -686,7 +688,7 @@
       // label13
       // 
       this.label13.AutoSize = true;
-      this.label13.Location = new System.Drawing.Point(102, 145);
+      this.label13.Location = new System.Drawing.Point(102, 132);
       this.label13.Name = "label13";
       this.label13.Size = new System.Drawing.Size(67, 13);
       this.label13.TabIndex = 109;
@@ -695,7 +697,7 @@
       // label10
       // 
       this.label10.AutoSize = true;
-      this.label10.Location = new System.Drawing.Point(4, 145);
+      this.label10.Location = new System.Drawing.Point(4, 132);
       this.label10.Name = "label10";
       this.label10.Size = new System.Drawing.Size(65, 13);
       this.label10.TabIndex = 108;
@@ -778,7 +780,7 @@
       // mpLabel16
       // 
       this.mpLabel16.AutoSize = true;
-      this.mpLabel16.Location = new System.Drawing.Point(9, 90);
+      this.mpLabel16.Location = new System.Drawing.Point(9, 88);
       this.mpLabel16.Name = "mpLabel16";
       this.mpLabel16.Size = new System.Drawing.Size(62, 13);
       this.mpLabel16.TabIndex = 94;
@@ -823,7 +825,7 @@
             "Qpsk2 ",
             "8psk2 ",
             "DirectTV  "});
-      this.mpComboBoxMod.Location = new System.Drawing.Point(97, 87);
+      this.mpComboBoxMod.Location = new System.Drawing.Point(97, 85);
       this.mpComboBoxMod.Name = "mpComboBoxMod";
       this.mpComboBoxMod.Size = new System.Drawing.Size(92, 21);
       this.mpComboBoxMod.TabIndex = 5;
@@ -831,7 +833,7 @@
       // mpLabel7
       // 
       this.mpLabel7.AutoSize = true;
-      this.mpLabel7.Location = new System.Drawing.Point(9, 65);
+      this.mpLabel7.Location = new System.Drawing.Point(9, 63);
       this.mpLabel7.Name = "mpLabel7";
       this.mpLabel7.Size = new System.Drawing.Size(64, 13);
       this.mpLabel7.TabIndex = 107;
@@ -859,7 +861,7 @@
       // 
       this.mpComboBoxPolarisation.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
       this.mpComboBoxPolarisation.FormattingEnabled = true;
-      this.mpComboBoxPolarisation.Location = new System.Drawing.Point(97, 63);
+      this.mpComboBoxPolarisation.Location = new System.Drawing.Point(97, 61);
       this.mpComboBoxPolarisation.Name = "mpComboBoxPolarisation";
       this.mpComboBoxPolarisation.Size = new System.Drawing.Size(92, 21);
       this.mpComboBoxPolarisation.TabIndex = 102;
@@ -872,13 +874,13 @@
       this.mpGrpScanProgress.Controls.Add(this.label1);
       this.mpGrpScanProgress.Controls.Add(this.label2);
       this.mpGrpScanProgress.Controls.Add(this.progressBarLevel);
-      this.mpGrpScanProgress.Controls.Add(this.progressBarQuality);
       this.mpGrpScanProgress.Controls.Add(this.progressBar1);
       this.mpGrpScanProgress.Controls.Add(this.listViewStatus);
+      this.mpGrpScanProgress.Controls.Add(this.progressBarQuality);
       this.mpGrpScanProgress.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
-      this.mpGrpScanProgress.Location = new System.Drawing.Point(1, 205);
+      this.mpGrpScanProgress.Location = new System.Drawing.Point(1, 224);
       this.mpGrpScanProgress.Name = "mpGrpScanProgress";
-      this.mpGrpScanProgress.Size = new System.Drawing.Size(449, 195);
+      this.mpGrpScanProgress.Size = new System.Drawing.Size(449, 176);
       this.mpGrpScanProgress.TabIndex = 114;
       this.mpGrpScanProgress.TabStop = false;
       this.mpGrpScanProgress.Text = "Scan progress";
@@ -1379,6 +1381,16 @@
       this.mpLabel13.TabIndex = 97;
       this.mpLabel13.Text = "Symbol rate:";
       // 
+      // chkNoChannelMoveDetection
+      // 
+      this.chkNoChannelMoveDetection.AutoSize = true;
+      this.chkNoChannelMoveDetection.Location = new System.Drawing.Point(8, 196);
+      this.chkNoChannelMoveDetection.Name = "chkNoChannelMoveDetection";
+      this.chkNoChannelMoveDetection.Size = new System.Drawing.Size(217, 17);
+      this.chkNoChannelMoveDetection.TabIndex = 107;
+      this.chkNoChannelMoveDetection.Text = "Do not detect that a channel has moved";
+      this.chkNoChannelMoveDetection.UseVisualStyleBackColor = true;
+      // 
       // CardDvbS
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -1514,5 +1526,6 @@
     private MediaPortal.UserInterface.Controls.MPCheckBox mpLNB1;
     private MediaPortal.UserInterface.Controls.MPLabel mpLabel9;
     private System.Windows.Forms.CheckBox checkBoxCreateSignalGroup;
+    private System.Windows.Forms.CheckBox chkNoChannelMoveDetection;
   }
 }
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.cs	(working copy)
@@ -517,10 +517,23 @@
           {
             Channel dbChannel;
             DVBTChannel channel = (DVBTChannel)channels[i];
-            //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
-            //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
-            TuningDetail currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId, TvBusinessLayer.GetChannelType(channel));
             bool exists;
+            TuningDetail currentDetail;
+            //User has option to skip channel move detection. There are certain providers that do not have a unique ONID + SID combination. ONID + TSID + SID is however unique.
+            if (!chkNoChannelMoveDetection.Checked)
+            {
+              //Find the current tuningdetail if we have that. Since according to the specs ONID + SID is unique we do not use the TSID. 
+              //That way we can also detect if a channel moves (as long as the provider does not change the SID. The DVB spec recommends that the SID should not change.)
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+            else
+            {
+              //Find the current tuningdetail if we have that.
+              currentDetail = layer.GetTuningDetail(channel.NetworkId, channel.TransportId, channel.ServiceId,
+                                                                 TvBusinessLayer.GetChannelType(channel));
+            }
+
             if (currentDetail == null)
             {
               //add new channel
Index: TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.Designer.cs
===================================================================
--- TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.Designer.cs	(revision 27406)
+++ TvEngine3/TVLibrary/SetupTv/Sections/CardDvbT.Designer.cs	(working copy)
@@ -30,6 +30,7 @@
     {
       this.tabControl1 = new System.Windows.Forms.TabControl();
       this.tabPageScan = new System.Windows.Forms.TabPage();
+      this.checkBoxCreateSignalGroup = new System.Windows.Forms.CheckBox();
       this.checkBoxAdvancedTuning = new System.Windows.Forms.CheckBox();
       this.mpGrpAdvancedTuning = new MediaPortal.UserInterface.Controls.MPGroupBox();
       this.mpLabel2 = new MediaPortal.UserInterface.Controls.MPLabel();
@@ -57,7 +58,7 @@
       this.mpComboBoxRegion = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.mpComboBoxCountry = new MediaPortal.UserInterface.Controls.MPComboBox();
       this.tabPageCIMenu = new System.Windows.Forms.TabPage();
-      this.checkBoxCreateSignalGroup = new System.Windows.Forms.CheckBox();
+      this.chkNoChannelMoveDetection = new System.Windows.Forms.CheckBox();
       this.tabControl1.SuspendLayout();
       this.tabPageScan.SuspendLayout();
       this.mpGrpAdvancedTuning.SuspendLayout();
@@ -81,6 +82,7 @@
       // tabPageScan
       // 
       this.tabPageScan.BackColor = System.Drawing.SystemColors.Control;
+      this.tabPageScan.Controls.Add(this.chkNoChannelMoveDetection);
       this.tabPageScan.Controls.Add(this.checkBoxCreateSignalGroup);
       this.tabPageScan.Controls.Add(this.checkBoxAdvancedTuning);
       this.tabPageScan.Controls.Add(this.mpGrpAdvancedTuning);
@@ -98,6 +100,16 @@
       this.tabPageScan.TabIndex = 0;
       this.tabPageScan.Text = "Scanning";
       // 
+      // checkBoxCreateSignalGroup
+      // 
+      this.checkBoxCreateSignalGroup.AutoSize = true;
+      this.checkBoxCreateSignalGroup.Location = new System.Drawing.Point(194, 62);
+      this.checkBoxCreateSignalGroup.Name = "checkBoxCreateSignalGroup";
+      this.checkBoxCreateSignalGroup.Size = new System.Drawing.Size(178, 17);
+      this.checkBoxCreateSignalGroup.TabIndex = 9;
+      this.checkBoxCreateSignalGroup.Text = "Create \"Digital Terrestrial\" group";
+      this.checkBoxCreateSignalGroup.UseVisualStyleBackColor = true;
+      // 
       // checkBoxAdvancedTuning
       // 
       this.checkBoxAdvancedTuning.AutoSize = true;
@@ -381,15 +393,15 @@
       this.tabPageCIMenu.TabIndex = 1;
       this.tabPageCIMenu.Text = "CI Menu";
       // 
-      // checkBoxCreateSignalGroup
+      // chkNoChannelMoveDetection
       // 
-      this.checkBoxCreateSignalGroup.AutoSize = true;
-      this.checkBoxCreateSignalGroup.Location = new System.Drawing.Point(194, 62);
-      this.checkBoxCreateSignalGroup.Name = "checkBoxCreateSignalGroup";
-      this.checkBoxCreateSignalGroup.Size = new System.Drawing.Size(178, 17);
-      this.checkBoxCreateSignalGroup.TabIndex = 9;
-      this.checkBoxCreateSignalGroup.Text = "Create \"Digital Terrestrial\" group";
-      this.checkBoxCreateSignalGroup.UseVisualStyleBackColor = true;
+      this.chkNoChannelMoveDetection.AutoSize = true;
+      this.chkNoChannelMoveDetection.Location = new System.Drawing.Point(194, 85);
+      this.chkNoChannelMoveDetection.Name = "chkNoChannelMoveDetection";
+      this.chkNoChannelMoveDetection.Size = new System.Drawing.Size(217, 17);
+      this.chkNoChannelMoveDetection.TabIndex = 105;
+      this.chkNoChannelMoveDetection.Text = "Do not detect that a channel has moved";
+      this.chkNoChannelMoveDetection.UseVisualStyleBackColor = true;
       // 
       // CardDvbT
       // 
@@ -443,6 +455,7 @@
     private System.Windows.Forms.RadioButton scanSingleTransponder;
     private System.Windows.Forms.RadioButton scanPredefProvider;
     private System.Windows.Forms.CheckBox checkBoxCreateSignalGroup;
+    private System.Windows.Forms.CheckBox chkNoChannelMoveDetection;
 
   }
 }
\ No newline at end of file
