diff --git a/Doc/lib/libsets.tex b/Doc/lib/libsets.tex
index 5f199a0..8ce62c8 100644
--- a/Doc/lib/libsets.tex
+++ b/Doc/lib/libsets.tex
@@ -100,9 +100,8 @@
 \end{tableii}
 
 In addition to the above operations, both \class{Set} and \class{ImmutableSet}
-support set to set comparison operators based on the contents of their
-internal dictionaries.  Two sets are equal if and only if every element of
-each set is contained in the other.
+support set to set equality comparisons.  Two sets are equal if and only if
+every element of each set is contained in the other.
 
 The following table lists operations available in \class{ImmutableSet}
 but not found in \class{Set}:
diff --git a/Lib/sets.py b/Lib/sets.py
index 09d9918..d422591 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -102,16 +102,7 @@
         """
         return self._data.iterkeys()
 
-    # Comparisons.  Ordering is determined by the ordering of the
-    # underlying dicts (which is consistent though unpredictable).
-
-    def __lt__(self, other):
-        self._binary_sanity_check(other)
-        return self._data < other._data
-
-    def __le__(self, other):
-        self._binary_sanity_check(other)
-        return self._data <= other._data
+    # Equality comparisons using the underlying dicts
 
     def __eq__(self, other):
         self._binary_sanity_check(other)
@@ -121,14 +112,6 @@
         self._binary_sanity_check(other)
         return self._data != other._data
 
-    def __gt__(self, other):
-        self._binary_sanity_check(other)
-        return self._data > other._data
-
-    def __ge__(self, other):
-        self._binary_sanity_check(other)
-        return self._data >= other._data
-
     # Copying operations
 
     def copy(self):
diff --git a/Lib/test/test_sets.py b/Lib/test/test_sets.py
index 9ff98a6..65b48e2 100644
--- a/Lib/test/test_sets.py
+++ b/Lib/test/test_sets.py
@@ -419,12 +419,12 @@
 
     def test_cmp(self):
         try:
-            self.other < self.set
+            self.other == self.set
             assert 0, "Comparison with non-set on left"
         except TypeError:
             pass
         try:
-            self.set >= self.other
+            self.set != self.other
             assert 0, "Comparison with non-set on right"
         except TypeError:
             pass
