Index: stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/FactorPartialDependencePlot.cs
===================================================================
--- stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/FactorPartialDependencePlot.cs	(revision 16425)
+++ stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/FactorPartialDependencePlot.cs	(revision 16833)
@@ -167,8 +167,12 @@
       // add an event such that whenever a value is changed in the shared dataset, 
       // this change is reflected in the internal dataset (where the value becomes a whole column)
-      if (this.sharedFixedVariables != null)
+      if (this.sharedFixedVariables != null) {
         this.sharedFixedVariables.ItemChanged -= sharedFixedVariables_ItemChanged;
+        this.sharedFixedVariables.Reset -= sharedFixedVariables_Reset;
+      }
+
       this.sharedFixedVariables = sharedFixedVariables;
       this.sharedFixedVariables.ItemChanged += sharedFixedVariables_ItemChanged;
+      this.sharedFixedVariables.Reset += sharedFixedVariables_Reset;
 
       RecalculateInternalDataset();
@@ -218,7 +222,6 @@
         if (updateOnFinish)
           Update();
-      }
-      catch (OperationCanceledException) { }
-      catch (AggregateException ae) {
+      } catch (OperationCanceledException) { 
+      } catch (AggregateException ae) {
         if (!ae.InnerExceptions.Any(e => e is OperationCanceledException))
           throw;
@@ -495,4 +498,12 @@
     }
 
+    private void sharedFixedVariables_Reset(object sender, EventArgs e) {
+      var newValue = sharedFixedVariables.GetStringValue(FreeVariable, 0);
+      UpdateSelectedValue(newValue);
+
+      int idx = variableValues.IndexOf(newValue);
+      UpdateAllSeriesStyles(idx);
+    }
+
     private async void chart_DragDrop(object sender, DragEventArgs e) {
       var data = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
Index: stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/PartialDependencePlot.cs
===================================================================
--- stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/PartialDependencePlot.cs	(revision 16425)
+++ stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Controls/PartialDependencePlot.cs	(revision 16833)
@@ -245,8 +245,12 @@
       // add an event such that whenever a value is changed in the shared dataset, 
       // this change is reflected in the internal dataset (where the value becomes a whole column)
-      if (this.sharedFixedVariables != null)
+      if (this.sharedFixedVariables != null) {
         this.sharedFixedVariables.ItemChanged -= sharedFixedVariables_ItemChanged;
+        this.sharedFixedVariables.Reset -= sharedFixedVariables_Reset;
+      }
+
       this.sharedFixedVariables = sharedFixedVariables;
       this.sharedFixedVariables.ItemChanged += sharedFixedVariables_ItemChanged;
+      this.sharedFixedVariables.Reset += sharedFixedVariables_Reset;
 
       RecalculateTrainingLimits(initializeAxisRanges);
@@ -314,7 +318,6 @@
         if (updateOnFinish)
           Update();
-      }
-      catch (OperationCanceledException) { }
-      catch (AggregateException ae) {
+      } catch (OperationCanceledException) {
+      } catch (AggregateException ae) {
         if (!ae.InnerExceptions.Any(e => e is OperationCanceledException))
           throw;
@@ -626,4 +629,5 @@
       var variableName = variables[columnIndex];
       if (variableName == FreeVariable) return;
+
       if (internalDataset.VariableHasType<double>(variableName)) {
         var v = sharedFixedVariables.GetDoubleValue(variableName, rowIndex);
@@ -640,4 +644,10 @@
     }
 
+    private void sharedFixedVariables_Reset(object sender, EventArgs e) {
+      var newValue = sharedFixedVariables.GetDoubleValue(FreeVariable, 0);
+      VerticalLineAnnotation.X = newValue;
+      UpdateCursor(); // triggers update of InternalDataset
+    }
+
     private void chart_AnnotationPositionChanging(object sender, AnnotationPositionChangingEventArgs e) {
       var step = (trainingMax - trainingMin) / drawingSteps;
@@ -658,5 +668,7 @@
     private void UpdateCursor() {
       var x = VerticalLineAnnotation.X;
-      sharedFixedVariables.SetVariableValue(x, FreeVariable, 0);
+
+      if (!sharedFixedVariables.GetDoubleValue(FreeVariable, 0).IsAlmost(x))
+        sharedFixedVariables.SetVariableValue(x, FreeVariable, 0);
 
       if (ShowCursor) {
