Index: branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/DataAnalysisProblemData.cs
===================================================================
--- branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/DataAnalysisProblemData.cs	(revision 5541)
+++ branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/DataAnalysisProblemData.cs	(revision 5542)
@@ -174,4 +174,10 @@
     #region changed event propagation
     private void RegisterEventHandlers() {
+      DatasetParameter.ValueChanged += new EventHandler(DatasetParameter_ValueChanged);
+      TrainingSamplesStartParameter.ValueChanged += new EventHandler(TrainingSamplesStartParameter_ValueChanged);
+      TrainingSamplesEndParameter.ValueChanged += new EventHandler(TrainingSamplesEndParameter_ValueChanged);
+      TestSamplesStartParameter.ValueChanged += new EventHandler(TestSamplesStartParameter_ValueChanged);
+      TestSamplesEndParameter.ValueChanged += new EventHandler(TestSamplesEndParameter_ValueChanged);
+
       DatasetParameter.Value.Reset += new EventHandler(DatasetChanged);
       DatasetParameter.Value.ColumnsChanged += new EventHandler(DatasetChanged);
@@ -184,9 +190,4 @@
       InputVariablesParameter.Value.ItemsReplaced += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<StringValue>>(InputVariables_ItemsReplaced);
 
-      TrainingSamplesStartParameter.ValueChanged += new EventHandler(TrainingSamplesStartParameter_ValueChanged);
-      TrainingSamplesEndParameter.ValueChanged += new EventHandler(TrainingSamplesEndParameter_ValueChanged);
-      TestSamplesStartParameter.ValueChanged += new EventHandler(TestSamplesStartParameter_ValueChanged);
-      TestSamplesEndParameter.ValueChanged += new EventHandler(TestSamplesEndParameter_ValueChanged);
-
       TrainingSamplesStartParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
       TrainingSamplesEndParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
@@ -195,18 +196,29 @@
     }
 
+    private void DatasetParameter_ValueChanged(object sender, EventArgs e) {
+      DatasetParameter.Value.Reset += new EventHandler(DatasetChanged);
+      DatasetParameter.Value.ColumnsChanged += new EventHandler(DatasetChanged);
+      DatasetParameter.Value.RowsChanged += new EventHandler(DatasetChanged);
+      OnProblemChanged();
+    }
+
     private void TestSamplesEndParameter_ValueChanged(object sender, EventArgs e) {
       TestSamplesEndParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
+      OnProblemChanged();
     }
 
     private void TestSamplesStartParameter_ValueChanged(object sender, EventArgs e) {
       TestSamplesStartParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
+      OnProblemChanged();
     }
 
     private void TrainingSamplesEndParameter_ValueChanged(object sender, EventArgs e) {
       TrainingSamplesEndParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
+      OnProblemChanged();
     }
 
     private void TrainingSamplesStartParameter_ValueChanged(object sender, EventArgs e) {
       TrainingSamplesStartParameter.Value.ValueChanged += new EventHandler(Partitions_ValueChanged);
+      OnProblemChanged();
     }
 
@@ -243,5 +255,5 @@
     }
 
-    protected void OnProblemChanged() {
+    protected virtual void OnProblemChanged() {
       var listeners = Changed;
       if (listeners != null) listeners(this, EventArgs.Empty);
Index: branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/RegressionProblemData.cs
===================================================================
--- branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/RegressionProblemData.cs	(revision 5541)
+++ branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/RegressionProblemData.cs	(revision 5542)
@@ -49,4 +49,5 @@
     private RegressionProblemData(RegressionProblemData original, Cloner cloner)
       : base(original, cloner) {
+      RegisterEventHandlers();
     }
     [StorableConstructor]
@@ -60,4 +61,6 @@
 
       Parameters.Add(targetVariableParameter);
+
+      RegisterEventHandlers();
     }
 
@@ -65,4 +68,25 @@
       return new RegressionProblemData(this, cloner);
     }
+
+    [StorableHook(HookType.AfterDeserialization)]
+    private void AfterDeserialization() {
+      RegisterEventHandlers();
+    }
+
+    #region event propagation
+    private void RegisterEventHandlers() {
+      TargetVariableParameter.Value.ValueChanged += new EventHandler(TargetVariable_ValueChanged);
+      TargetVariableParameter.ValueChanged += new EventHandler(TargetVariableParameter_ValueChanged);
+    }
+
+    private void TargetVariableParameter_ValueChanged(object sender, EventArgs e) {
+      TargetVariableParameter.Value.ValueChanged += new EventHandler(TargetVariable_ValueChanged);
+      OnProblemChanged();
+    }
+
+    private void TargetVariable_ValueChanged(object sender, EventArgs e) {
+      OnProblemChanged();
+    }
+    #endregion
   }
 }
