Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs	(revision 10173)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs	(revision 10174)
@@ -20,7 +20,9 @@
 #endregion
 
+using System;
 using System.Windows.Forms;
 using HeuristicLab.Core;
 using HeuristicLab.MainForm;
+using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Problems.DataAnalysis.Views {
@@ -51,4 +53,18 @@
     }
     #endregion
+
+    protected override bool CheckCompatibilityOfProblemData(IDataAnalysisProblemData problemData) {
+      IClassificationProblemData classificationProblemData = (IClassificationProblemData)problemData;
+
+      if (!classificationProblemData.TargetVariable.Equals(Content.ProblemData.TargetVariable)) {
+        string message = "The target variables are not matching. Old target variable: '"
+                         + Content.ProblemData.TargetVariable
+                         + "'. New targetvariable: '" + classificationProblemData.TargetVariable + "'";
+        ErrorHandling.ShowErrorDialog(this, new InvalidOperationException(message));
+        return false;
+      }
+
+      return base.CheckCompatibilityOfProblemData(problemData);
+    }
   }
 }
Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 10173)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 10174)
@@ -25,4 +25,5 @@
 using System.Drawing;
 using System.Linq;
+using System.Text;
 using System.Windows.Forms;
 using HeuristicLab.Core;
@@ -205,19 +206,36 @@
 
     protected override void itemsListView_DragDrop(object sender, DragEventArgs e) {
-      if (e.Effect != DragDropEffects.None) {
-        var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
-        if (dropData is IDataAnalysisProblemData) {
-          DataAnalysisProblemData problemData = (DataAnalysisProblemData)dropData;
-          Content.ProblemData = (DataAnalysisProblemData)problemData.Clone();
-        } else if (dropData is IDataAnalysisProblem) {
-          IDataAnalysisProblemData problemData = ((IDataAnalysisProblem)dropData).ProblemData;
-          Content.ProblemData = (IDataAnalysisProblemData)problemData.Clone();
-        } else if (dropData is IValueParameter) {
-          var param = (IValueParameter)dropData;
-          DataAnalysisProblemData problemData = param.Value as DataAnalysisProblemData;
-          if (problemData != null)
-            Content.ProblemData = (DataAnalysisProblemData)problemData.Clone();
-        }
-      }
+      if (e.Effect == DragDropEffects.None) return;
+
+      IDataAnalysisProblemData problemData = null;
+      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
+      if (dropData is IDataAnalysisProblemData)
+        problemData = (IDataAnalysisProblemData)dropData;
+      else if (dropData is IDataAnalysisProblem)
+        problemData = ((IDataAnalysisProblem)dropData).ProblemData;
+      else if (dropData is IValueParameter) {
+        var param = (IValueParameter)dropData;
+        problemData = param.Value as DataAnalysisProblemData;
+      }
+      if (problemData == null) return;
+      CheckCompatibilityOfProblemData(problemData);
+      Content.ProblemData = (IDataAnalysisProblemData)problemData.Clone();
+    }
+    #endregion
+
+    #region load problem data
+    protected virtual bool CheckCompatibilityOfProblemData(IDataAnalysisProblemData problemData) {
+      StringBuilder message = new StringBuilder();
+      List<string> variables = problemData.InputVariables.Select(x => x.Value).ToList();
+      foreach (var item in Content.ProblemData.InputVariables.CheckedItems) {
+        if (!variables.Contains(item.Value.Value))
+          message.AppendLine("Input variable '" + item.Value.Value + "' is not in the new problem data.");
+      }
+
+      if (message.Length != 0) {
+        ErrorHandling.ShowErrorDialog(this, new InvalidOperationException(message.ToString()));
+        return false;
+      }
+      return true;
     }
     #endregion
Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 10173)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 10174)
@@ -20,7 +20,9 @@
 #endregion
 
+using System;
 using System.Windows.Forms;
 using HeuristicLab.Core;
 using HeuristicLab.MainForm;
+using HeuristicLab.PluginInfrastructure;
 
 namespace HeuristicLab.Problems.DataAnalysis.Views {
@@ -51,4 +53,18 @@
     }
     #endregion
+
+    protected override bool CheckCompatibilityOfProblemData(IDataAnalysisProblemData problemData) {
+      IRegressionProblemData regressionProblemData = (IRegressionProblemData)problemData;
+
+      if (!regressionProblemData.TargetVariable.Equals(Content.ProblemData.TargetVariable)) {
+        string message = "The target variables are not matching. Old target variable: '"
+                         + Content.ProblemData.TargetVariable
+                         + "'. New targetvariable: '" + regressionProblemData.TargetVariable + "'";
+        ErrorHandling.ShowErrorDialog(this, new InvalidOperationException(message));
+        return false;
+      }
+
+      return base.CheckCompatibilityOfProblemData(problemData);
+    }
   }
 }
