Index: trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs	(revision 2931)
+++ trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs	(revision 2932)
@@ -156,5 +156,5 @@
       if (ActualNameChanged != null)
         ActualNameChanged(this, EventArgs.Empty);
-      OnChanged();
+      OnToStringChanged();
     }
 
Index: trunk/sources/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs	(revision 2931)
+++ trunk/sources/HeuristicLab.Parameters/3.3/OptionalConstrainedValueParameter.cs	(revision 2932)
@@ -50,9 +50,12 @@
         if (value != this.value) {
           if ((value != null) && !validValues.Contains(value)) throw new ArgumentException("Invalid value.");
+          if (this.value != null) this.value.ToStringChanged -= new EventHandler(Value_ToStringChanged);
           this.value = value;
+          if (this.value != null) this.value.ToStringChanged += new EventHandler(Value_ToStringChanged);
           OnValueChanged();
         }
       }
     }
+
     IItem IValueParameter.Value {
       get { return Value; }
@@ -121,5 +124,5 @@
       if (ValueChanged != null)
         ValueChanged(this, EventArgs.Empty);
-      OnChanged();
+      OnToStringChanged();
     }
 
@@ -129,5 +132,4 @@
         validValues.ItemsRemoved += new CollectionItemsChangedEventHandler<T>(ValidValues_ItemsRemoved);
         validValues.CollectionReset += new CollectionItemsChangedEventHandler<T>(ValidValues_CollectionReset);
-        validValues.Changed += new ChangedEventHandler(ValidValues_Changed);
       }
     }
@@ -138,5 +140,4 @@
         validValues.ItemsRemoved -= new CollectionItemsChangedEventHandler<T>(ValidValues_ItemsRemoved);
         validValues.CollectionReset -= new CollectionItemsChangedEventHandler<T>(ValidValues_CollectionReset);
-        validValues.Changed -= new ChangedEventHandler(ValidValues_Changed);
       }
     }
@@ -149,6 +150,6 @@
       if ((Value != null) && !validValues.Contains(Value)) Value = null;
     }
-    protected virtual void ValidValues_Changed(object sender, ChangedEventArgs e) {
-      OnChanged(e);
+    protected virtual void Value_ToStringChanged(object sender, EventArgs e) {
+      OnToStringChanged();
     }
   }
Index: trunk/sources/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs	(revision 2931)
+++ trunk/sources/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs	(revision 2932)
@@ -37,7 +37,7 @@
       set {
         if (value != this.value) {
-          if (this.value != null) this.value.Changed -= new ChangedEventHandler(Value_Changed);
+          if (this.value != null) this.value.ToStringChanged -= new EventHandler(Value_ToStringChanged);
           this.value = value;
-          if (this.value != null) this.value.Changed += new ChangedEventHandler(Value_Changed);
+          if (this.value != null) this.value.ToStringChanged += new EventHandler(Value_ToStringChanged);
           OnValueChanged();
         }
@@ -96,8 +96,8 @@
       if (ValueChanged != null)
         ValueChanged(this, EventArgs.Empty);
-      OnChanged();
+      OnToStringChanged();
     }
-    private void Value_Changed(object sender, ChangedEventArgs e) {
-      OnChanged(e);
+    private void Value_ToStringChanged(object sender, EventArgs e) {
+      OnToStringChanged();
     }
   }
Index: trunk/sources/HeuristicLab.Parameters/3.3/ValueLookupParameter.cs
===================================================================
--- trunk/sources/HeuristicLab.Parameters/3.3/ValueLookupParameter.cs	(revision 2931)
+++ trunk/sources/HeuristicLab.Parameters/3.3/ValueLookupParameter.cs	(revision 2932)
@@ -37,7 +37,7 @@
       set {
         if (value != this.value) {
-          if (this.value != null) this.value.Changed -= new ChangedEventHandler(Value_Changed);
+          if (this.value != null) this.value.ToStringChanged -= new EventHandler(Value_ToStringChanged);
           this.value = value;
-          if (this.value != null) this.value.Changed += new ChangedEventHandler(Value_Changed);
+          if (this.value != null) this.value.ToStringChanged += new EventHandler(Value_ToStringChanged);
           OnValueChanged();
         }
@@ -89,8 +89,8 @@
       if (ValueChanged != null)
         ValueChanged(this, EventArgs.Empty);
-      OnChanged();
+      OnToStringChanged();
     }
-    private void Value_Changed(object sender, ChangedEventArgs e) {
-      OnChanged(e);
+    private void Value_ToStringChanged(object sender, EventArgs e) {
+      OnToStringChanged();
     }
   }
