Index: /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 7346)
+++ /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 7347)
@@ -64,4 +64,5 @@
         if (components != null) components.Dispose();
       }
+      DeregisterContentEvents();
       base.Dispose(disposing);
     }
@@ -93,4 +94,7 @@
     protected override void OnContentChanged() {
       base.OnContentChanged();
+      foreach (T item in itemListViewItemMapping.Keys) {
+        DeregisterItemEvents(item);
+      }
       itemsListView.Items.Clear();
       itemListViewItemMapping.Clear();
@@ -190,5 +194,9 @@
       T item = listViewItem.Tag as T;
       int i = listViewItem.ImageIndex;
-      itemsListView.SmallImageList.Images[i] = item == null ? HeuristicLab.Common.Resources.VSImageLibrary.Nothing : item.ItemImage;
+      if (itemsListView.SmallImageList != null) {
+        itemsListView.SmallImageList.Images[i] = item == null ? HeuristicLab.Common.Resources.VSImageLibrary.Nothing : item.ItemImage;
+      } else {
+        listViewItem.ImageIndex = -1;
+      }
       listViewItem.ImageIndex = -1;
       listViewItem.ImageIndex = i;
Index: /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs
===================================================================
--- /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 7346)
+++ /branches/ChangeDatasetOfRegressionModel/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 7347)
@@ -22,4 +22,6 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
+using System.Text;
 using System.Windows.Forms;
 using HeuristicLab.Core;
@@ -64,4 +66,5 @@
           ErrorHandling.ShowErrorDialog(this, ex);
         }
+
         IRegressionProblemData problemData = null;
         if (hlFile != null && hlFile is RegressionProblemData) {
@@ -71,36 +74,20 @@
         }
         if (problemData != null) {
-          IList<string> missingVariables = new List<string>();
+          StringBuilder message = new StringBuilder();
           if (!problemData.TargetVariable.Equals(Content.ProblemData.TargetVariable))
-            missingVariables.Add(Content.ProblemData.TargetVariable);
+            message.AppendLine("The target variables are not matching. Old target variable: '" + Content.ProblemData.TargetVariable
+              + "'. New targetvariable: '" + problemData.TargetVariable + "'");
 
-          //foreach (var item in Content.ProblemData.InputVariables.CheckedItems) {
-          //  if (!problemData.InputVariables.Contains(item.Value))
-          //    missingVariables.Add(item.Value.ToString());
-          //}
+          List<string> variables = problemData.InputVariables.Select(x => x.Value).ToList();
 
-          //easier solution will be created later
-          bool found;
           foreach (var item in Content.ProblemData.InputVariables.CheckedItems) {
-            found = false;
-            foreach (var it in problemData.InputVariables) {
-              if (it.Value.Equals(item.Value.Value)) {
-                found = true;
-                break;
-              }
-            }
-            if (!found)
-              missingVariables.Add(item.Value.ToString());
+            if (!variables.Contains(item.Value.Value))
+              message.AppendLine("Input variable '" + item.Value.Value + "' is not in the new problem data.");
           }
 
-          if (missingVariables.Count != 0) {
-            string message = "";
-            foreach (var item in missingVariables) {
-              message += item + Environment.NewLine;
-            }
-            ErrorHandling.ShowErrorDialog(this, new Exception(message));
-          } else {
+          if (message.Length != 0)
+            ErrorHandling.ShowErrorDialog(this, new Exception(message.ToString()));
+          else
             Content.ProblemData = problemData;
-          }
         }
       }
