diff -r 58d5564d1b5e django/contrib/admin/views/main.py
--- a/django/contrib/admin/views/main.py	Sun Apr 27 08:55:47 2008 -0300
+++ b/django/contrib/admin/views/main.py	Sun Apr 27 21:01:18 2008 -0300
@@ -716,24 +716,8 @@ class ChangeList(object):
                         qs = qs.select_related()
                         break
 
-        # Calculate lookup_order_field.
-        # If the order-by field is a field with a relationship, order by the
-        # value in the related table.
-        lookup_order_field = self.order_field
-        try:
-            f = self.lookup_opts.get_field(self.order_field, many_to_many=False)
-        except models.FieldDoesNotExist:
-            pass
-        else:
-            if isinstance(f.rel, models.OneToOneRel):
-                # For OneToOneFields, don't try to order by the related object's ordering criteria.
-                pass
-            elif isinstance(f.rel, models.ManyToOneRel):
-                rel_ordering = f.rel.to._meta.ordering and f.rel.to._meta.ordering[0] or f.rel.to._meta.pk.column
-                lookup_order_field = '%s.%s' % (f.rel.to._meta.db_table, rel_ordering)
-
         # Set ordering.
-        qs = qs.order_by((self.order_type == 'desc' and '-' or '') + lookup_order_field)
+        qs = qs.order_by('%s%s' % (self.order_type == 'desc' and '-' or '', self.order_field))
 
         # Apply keyword searches.
         def construct_search(field_name):
