Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs	(revision 5845)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/MultiObjective/SymbolicClassificationMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs	(revision 5846)
@@ -34,12 +34,6 @@
       IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows);
       IEnumerable<double> originalValues = problemData.Dataset.GetEnumeratedVariableValues(problemData.TargetVariable, rows);
-      try {
-        double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(originalValues, estimatedValues);
-        return new double[2] { r2, solution.Length };
-      }
-      catch (ArgumentException) {
-        // if R² cannot be calcualted because of infinity or NaN values => return worst possible fitness value
-        return new double[2] { 0.0, solution.Length };
-      }
+      double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(estimatedValues, originalValues);
+      return new double[] { double.IsNaN(r2) ? 0.0 : r2, solution.Length };
     }
 
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectivePearsonRSquaredEvaluator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectivePearsonRSquaredEvaluator.cs	(revision 5845)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectivePearsonRSquaredEvaluator.cs	(revision 5846)
@@ -55,11 +55,6 @@
       IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows);
       IEnumerable<double> originalValues = problemData.Dataset.GetEnumeratedVariableValues(problemData.TargetVariable, rows);
-      try {
-        return OnlinePearsonsRSquaredEvaluator.Calculate(originalValues, estimatedValues);
-      }
-      catch (ArgumentException) {
-        // if R² cannot be calculated because of NaN or ininity elements => return worst possible fitness value
-        return 0.0;
-      }
+      double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(estimatedValues, originalValues);
+      return double.IsNaN(r2) ? 0.0 : r2;
     }
 
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs	(revision 5845)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectivePearsonRSquaredTreeSizeEvaluator.cs	(revision 5846)
@@ -55,12 +55,6 @@
       IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows);
       IEnumerable<double> originalValues = problemData.Dataset.GetEnumeratedVariableValues(problemData.TargetVariable, rows);
-      try {
-        double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(originalValues, estimatedValues);
-        return new double[2] { r2, solution.Length };
-      }
-      catch (ArgumentException) {
-        // if R² cannot be calcualted return worst possible fitness value
-        return new double[2] { 0.0, solution.Length };
-      }
+      double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(estimatedValues, originalValues);
+      return new double[] { double.IsNaN(r2) ? 0.0 : r2, solution.Length };
     }
 
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs	(revision 5845)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs	(revision 5846)
@@ -55,11 +55,6 @@
       IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows);
       IEnumerable<double> originalValues = problemData.Dataset.GetEnumeratedVariableValues(problemData.TargetVariable, rows);
-      try {
-        return OnlinePearsonsRSquaredEvaluator.Calculate(estimatedValues, originalValues);
-      }
-      catch (ArgumentException) {
-        // if R² cannot be calculated because of NaN or ininity elements => return worst possible fitness value
-        return 0.0;
-      }
+      double r2 = OnlinePearsonsRSquaredEvaluator.Calculate(estimatedValues, originalValues);
+      return double.IsNaN(r2) ? 0.0 : r2;
     }
 
