Index: TVLibrary/SetupTv/Sections/ChannelsInGroupControl.cs
===================================================================
--- TVLibrary/SetupTv/Sections/ChannelsInGroupControl.cs	(revision 27992)
+++ TVLibrary/SetupTv/Sections/ChannelsInGroupControl.cs	(working copy)
@@ -70,6 +70,8 @@
         UpdateMenuAndTabs();
 
         listView1.Items.Clear();
+        listView1.BeginUpdate();
+
         SqlBuilder sb = new SqlBuilder(StatementType.Select, typeof (GroupMap));
 
         sb.AddConstraint(Operator.Equals, "idGroup", _channelGroup.IdGroup);
@@ -79,6 +81,7 @@
 
         IList<GroupMap> maps = ObjectFactory.GetCollection<GroupMap>(stmt.Execute());
 
+        List<ListViewItem> items = new List<ListViewItem>();
         foreach (GroupMap map in maps)
         {
           Channel channel = map.ReferencedChannel();
@@ -86,8 +89,11 @@
           {
             continue;
           }
-          listView1.Items.Add(CreateItemForChannel(channel, map));
+          items.Add(CreateItemForChannel(channel, map));
         }
+        listView1.Items.AddRange(items.ToArray());
+        listView1.EndUpdate();
+
         bool isAllChannelsGroup = (_channelGroup.GroupName == TvConstants.TvGroupNames.AllChannels);
         removeChannelFromGroup.Enabled = !isAllChannelsGroup;
         mpButtonDel.Enabled = !isAllChannelsGroup;
@@ -237,9 +243,11 @@
     {
       ChannelGroup group;
       ToolStripMenuItem menuItem = (ToolStripMenuItem)sender;
+
       if (menuItem.Tag == null)
       {
         GroupNameForm dlg = new GroupNameForm();
+
         if (dlg.ShowDialog(this) != DialogResult.OK)
         {
           return;
@@ -324,6 +332,7 @@
           Channel channel = map.ReferencedChannel();
           FormEditChannel dlg = new FormEditChannel();
           dlg.Channel = channel;
+
           dlg.ShowDialog();
           return;
         }
Index: TVLibrary/SetupTv/Sections/ChannelsInRadioGroupControl.cs
===================================================================
--- TVLibrary/SetupTv/Sections/ChannelsInRadioGroupControl.cs	(revision 27992)
+++ TVLibrary/SetupTv/Sections/ChannelsInRadioGroupControl.cs	(working copy)
@@ -70,6 +70,8 @@
         UpdateMenuAndTabs();
 
         listView1.Items.Clear();
+        listView1.BeginUpdate();
+
         SqlBuilder sb = new SqlBuilder(StatementType.Select, typeof (RadioGroupMap));
 
         sb.AddConstraint(Operator.Equals, "idGroup", _channelGroup.IdGroup);
@@ -79,6 +81,7 @@
 
         IList<RadioGroupMap> maps = ObjectFactory.GetCollection<RadioGroupMap>(stmt.Execute());
 
+        List<ListViewItem> items = new List<ListViewItem>();
         foreach (RadioGroupMap map in maps)
         {
           Channel channel = map.ReferencedChannel();
@@ -86,8 +89,11 @@
           {
             continue;
           }
-          listView1.Items.Add(CreateItemForChannel(channel, map));
+          items.Add(CreateItemForChannel(channel, map));
         }
+        listView1.Items.AddRange(items.ToArray());
+        listView1.EndUpdate();
+
         bool isAllChannelsGroup = (_channelGroup.GroupName == TvConstants.RadioGroupNames.AllChannels);
         removeChannelFromGroup.Enabled = !isAllChannelsGroup;
         mpButtonDel.Enabled = !isAllChannelsGroup;
@@ -242,15 +248,12 @@
       {
         GroupNameForm dlg = new GroupNameForm();
         dlg.IsRadio = true;
-
         if (dlg.ShowDialog(this) != DialogResult.OK)
         {
           return;
         }
-
         group = new RadioChannelGroup(dlg.GroupName, 9999);
         group.Persist();
-
         UpdateMenuAndTabs();
       }
       else
@@ -261,9 +264,7 @@
       ListView.SelectedIndexCollection indexes = listView1.SelectedIndices;
       if (indexes.Count == 0)
         return;
-
       TvBusinessLayer layer = new TvBusinessLayer();
-
       for (int i = 0; i < indexes.Count; ++i)
       {
         ListViewItem item = listView1.Items[indexes[i]];
@@ -291,10 +292,10 @@
         }
       }
 
-
       ListView.SelectedIndexCollection indexes = listView1.SelectedIndices;
       if (indexes.Count == 0)
         return;
+
       NotifyForm dlg = new NotifyForm("Deleting selected radio channels...",
                                       "This can take some time\n\nPlease be patient...");
       dlg.Show();
@@ -339,6 +340,26 @@
       ReOrder();
     }
 
+    private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e)
+    {
+      if (e.Label != null)
+      {
+        Channel channel = ((RadioGroupMap)listView1.Items[e.Item].Tag).ReferencedChannel();
+        channel.DisplayName = e.Label;
+        channel.Persist();
+      }
+    }
+
+    private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
+    {
+      Channel ch = ((RadioGroupMap)e.Item.Tag).ReferencedChannel();
+      if (ch.VisibleInGuide != e.Item.Checked)
+      {
+        ch.VisibleInGuide = e.Item.Checked;
+        ch.Persist();
+      }
+    }
+
     private void mpButtonPreview_Click(object sender, EventArgs e)
     {
       ListView.SelectedIndexCollection indexes = listView1.SelectedIndices;
@@ -515,26 +536,6 @@
       lvwColumnSorter.Order = SortOrder.None;
     }
 
-    private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e)
-    {
-      if (e.Label != null)
-      {
-        Channel channel = ((RadioGroupMap)listView1.Items[e.Item].Tag).ReferencedChannel();
-        channel.DisplayName = e.Label;
-        channel.Persist();
-      }
-    }
-
-    private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
-    {
-      Channel ch = ((RadioGroupMap)e.Item.Tag).ReferencedChannel();
-      if (ch.VisibleInGuide != e.Item.Checked)
-      {
-        ch.VisibleInGuide = e.Item.Checked;
-        ch.Persist();
-      }
-    }
-
     private void mpButtonOrderByName_Click(object sender, EventArgs e)
     {
       this.listView1_ColumnClick(null, new ColumnClickEventArgs(0));
Index: TVLibrary/SetupTv/Sections/Helpers/ChannelListViewHandler.cs
===================================================================
--- TVLibrary/SetupTv/Sections/Helpers/ChannelListViewHandler.cs	(revision 27992)
+++ TVLibrary/SetupTv/Sections/Helpers/ChannelListViewHandler.cs	(working copy)
@@ -105,7 +105,7 @@
 
       try
       {
-        Log.Debug("Filter listview for " + filterText);
+        Log.Debug("Filter listview for \"" + filterText + "\"");
         _listView.Invoke(new MethodInvoker(delegate()
                                              {
                                                _listView.Items.Clear();
@@ -118,7 +118,7 @@
           if (InvokeHasTextChanged(filterText))
           {
 //the search term changed while we were filtering
-            Log.Debug("Cancel filtering for " + filterText);
+            Log.Debug("Cancel filtering for \"" + filterText + "\"");
             break;
           }
 
@@ -141,7 +141,7 @@
                                                  _listView.Items.AddRange(items.ToArray());
                                                  _listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
                                                }));
-          Log.Debug("Finished filtering " + items.Count + " items for " + filterText);
+          Log.Debug("Finished filtering " + items.Count + " items for \"" + filterText + "\"");
         }
         else
         {
@@ -281,7 +281,7 @@
         {
           hasFta = true;
         }
-        if (!detail.FreeToAir)
+        else
         {
           hasScrambled = true;
         }
