diff --git a/Lib/enum.py b/Lib/enum.py
index 82058ae..0d72f3e 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -225,16 +225,6 @@
     def __dir__(self):
         return ['__class__', '__doc__', '__members__'] + self._member_names_
 
-    @property
-    def __members__(cls):
-        """Returns a mapping of member name->value.
-
-        This mapping lists all enum members, including aliases. Note that this
-        is a read-only view of the internal mapping.
-
-        """
-        return MappingProxyType(cls._member_map_)
-
     def __getattr__(cls, name):
         """Return the enum member matching `name`
 
@@ -260,9 +250,22 @@
     def __len__(cls):
         return len(cls._member_names_)
 
+    @property
+    def __members__(cls):
+        """Returns a mapping of member name->value.
+
+        This mapping lists all enum members, including aliases. Note that this
+        is a read-only view of the internal mapping.
+
+        """
+        return MappingProxyType(cls._member_map_)
+
     def __repr__(cls):
         return "<enum %r>" % cls.__name__
 
+    def __reversed__(cls):
+        return (cls._member_map_[name] for name in reversed(cls._member_names_))
+
     def __setattr__(cls, name, value):
         """Block attempts to reassign Enum members.
 
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index 018e3fd..1308003 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -477,6 +477,13 @@
                 [Season.SUMMER, Season.WINTER, Season.AUTUMN, Season.SPRING],
                 )
 
+    def test_reversed_iteration_order(self):
+        self.assertEqual(
+                list(reversed(self.Season)),
+                [self.Season.WINTER, self.Season.AUTUMN, self.Season.SUMMER,
+                 self.Season.SPRING]
+                )
+
     def test_programatic_function_string(self):
         SummerMonth = Enum('SummerMonth', 'june july august')
         lst = list(SummerMonth)
