Index: trunk/sources/HeuristicLab.Algorithms.RAPGA/3.3/RAPGA.cs
===================================================================
--- trunk/sources/HeuristicLab.Algorithms.RAPGA/3.3/RAPGA.cs	(revision 12104)
+++ trunk/sources/HeuristicLab.Algorithms.RAPGA/3.3/RAPGA.cs	(revision 12106)
@@ -206,5 +206,7 @@
       }
       if (Parameters.ContainsKey("SimilarityCalculator")) {
+#pragma warning disable 0618
         var oldParameter = (IConstrainedValueParameter<ISingleObjectiveSolutionSimilarityCalculator>)Parameters["SimilarityCalculator"];
+#pragma warning restore 0618
         Parameters.Remove(oldParameter);
         var newParameter = new ConstrainedValueParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The operator used to calculate the similarity between two solutions.", new ItemSet<ISolutionSimilarityCalculator>(oldParameter.ValidValues));
@@ -508,4 +510,9 @@
         SimilarityCalculatorParameter.ValidValues.Add(similarityCalculator);
 
+      if (!SimilarityCalculatorParameter.ValidValues.Any()) {
+        SimilarityCalculatorParameter.ValidValues.Add(new QualitySimilarityCalculator { QualityVariableName = Problem.Evaluator.QualityParameter.ActualName });
+        SimilarityCalculatorParameter.ValidValues.Add(new NoSimilarityCalculator());
+      }
+
       if (oldSimilarityCalculator != null) {
         ISolutionSimilarityCalculator similarityCalculator = SimilarityCalculatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSimilarityCalculator.GetType());
Index: trunk/sources/HeuristicLab.Algorithms.ScatterSearch/3.3/ScatterSearch.cs
===================================================================
--- trunk/sources/HeuristicLab.Algorithms.ScatterSearch/3.3/ScatterSearch.cs	(revision 12104)
+++ trunk/sources/HeuristicLab.Algorithms.ScatterSearch/3.3/ScatterSearch.cs	(revision 12106)
@@ -163,5 +163,7 @@
       #region Backwards compatible code, remove with 3.4
       if (Parameters.ContainsKey("SimilarityCalculator")) {
+#pragma warning disable 0618
         var oldParameter = (IConstrainedValueParameter<ISingleObjectiveSolutionSimilarityCalculator>)Parameters["SimilarityCalculator"];
+#pragma warning restore 0618
         Parameters.Remove(oldParameter);
         var newParameter = new ConstrainedValueParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The operator used to calculate the similarity between two solutions.", new ItemSet<ISolutionSimilarityCalculator>(oldParameter.ValidValues));
@@ -408,4 +410,9 @@
         SimilarityCalculatorParameter.ValidValues.Add(similarityCalculator);
 
+      if (!SimilarityCalculatorParameter.ValidValues.Any()) {
+        SimilarityCalculatorParameter.ValidValues.Add(new QualitySimilarityCalculator { QualityVariableName = Problem.Evaluator.QualityParameter.ActualName });
+        SimilarityCalculatorParameter.ValidValues.Add(new NoSimilarityCalculator());
+      }
+
       if (oldSimilarityCalculator != null) {
         ISolutionSimilarityCalculator similarityCalculator = SimilarityCalculatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSimilarityCalculator.GetType());
Index: trunk/sources/HeuristicLab.Optimization.Operators/3.3/SingleObjectiveSolutionSimilarityCalculator.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimization.Operators/3.3/SingleObjectiveSolutionSimilarityCalculator.cs	(revision 12104)
+++ trunk/sources/HeuristicLab.Optimization.Operators/3.3/SingleObjectiveSolutionSimilarityCalculator.cs	(revision 12106)
@@ -31,5 +31,7 @@
   [Item("SimilarityCalculator", "A base class for items that perform similarity calculation between two solutions.")]
   [StorableClass]
+#pragma warning disable 0618
   public abstract class SingleObjectiveSolutionSimilarityCalculator : SolutionSimilarityCalculator, ISingleObjectiveSolutionSimilarityCalculator {
+#pragma warning restore 0618
     [StorableConstructor]
     protected SingleObjectiveSolutionSimilarityCalculator(bool deserializing) : base(deserializing) { }
