Index: /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs	(revision 15161)
+++ /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs	(revision 15162)
@@ -28,7 +28,6 @@
   public class BinaryVectorEqualityComparer : EqualityComparer<BinaryVector> {
     public override bool Equals(BinaryVector x, BinaryVector y) {
-      if (x == null && y == null) return true;
+      if (ReferenceEquals(x, y)) return true;
       if (x == null || y == null) return false;
-      if (ReferenceEquals(x, y)) return true;
       if (x.Length != y.Length) return false;
       for (var i = 0; i < x.Length; i++)
@@ -36,11 +35,11 @@
       return true;
     }
+
     public override int GetHashCode(BinaryVector obj) {
       if (obj == null) throw new ArgumentNullException("obj", "BinaryVectorEqualityComparer: Cannot compute hash value of null.");
       unchecked {
         int hash = 17;
-        foreach (var bit in obj) {
+        foreach (var bit in obj)
           hash = hash * 29 + (bit ? 1231 : 1237);
-        }
         return hash;
       }
Index: /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs	(revision 15161)
+++ /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorEqualityComparer.cs	(revision 15162)
@@ -28,7 +28,6 @@
   public class IntegerVectorEqualityComparer : EqualityComparer<IntegerVector> {
     public override bool Equals(IntegerVector x, IntegerVector y) {
-      if (x == null && y == null) return true;
+      if (ReferenceEquals(x, y)) return true;
       if (x == null || y == null) return false;
-      if (ReferenceEquals(x, y)) return true;
       if (x.Length != y.Length) return false;
       for (var i = 0; i < x.Length; i++)
Index: /trunk/sources/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 15161)
+++ /trunk/sources/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageEqualityComparer.cs	(revision 15162)
@@ -28,7 +28,6 @@
   public class LinearLinkageEqualityComparer : EqualityComparer<LinearLinkage> {
     public override bool Equals(LinearLinkage x, LinearLinkage y) {
-      if (x == null && y == null) return true;
+      if (ReferenceEquals(x, y)) return true;
       if (x == null || y == null) return false;
-      if (ReferenceEquals(x, y)) return true;
       if (x.Length != y.Length) return false;
       for (var i = 0; i < x.Length; i++)
Index: /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs	(revision 15161)
+++ /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEqualityComparer.cs	(revision 15162)
@@ -30,7 +30,6 @@
   public class PermutationEqualityComparer : EqualityComparer<Permutation> {
     public override bool Equals(Permutation x, Permutation y) {
-      if (x == null && y == null) return true;
+      if (ReferenceEquals(x, y)) return true;
       if (x == null || y == null) return false;
-      if (ReferenceEquals(x, y)) return true;
       if (x.Length != y.Length) return false;
       if (x.PermutationType != y.PermutationType) return false;
Index: /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs	(revision 15161)
+++ /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs	(revision 15162)
@@ -28,10 +28,9 @@
   public class RealVectorEqualityComparer : EqualityComparer<RealVector> {
     public override bool Equals(RealVector x, RealVector y) {
-      if (x == null && y == null) return true;
+      if (ReferenceEquals(x, y)) return true;
       if (x == null || y == null) return false;
-      if (ReferenceEquals(x, y)) return true;
       if (x.Length != y.Length) return false;
       for (var i = 0; i < x.Length; i++)
-        if (x[i] == y[i]) return false;
+        if (x[i] != y[i]) return false;
       return true;
     }
