diff -r 1a5661fe179d tests/modeltests/model_inheritance/models.py
--- a/tests/modeltests/model_inheritance/models.py	Tue Nov 16 15:14:04 2010 +0000
+++ b/tests/modeltests/model_inheritance/models.py	Tue Nov 16 23:13:30 2010 +0100
@@ -119,6 +119,24 @@
     def __unicode__(self):
         return u"%s the parking lot" % self.name
 
+class AbstractModelOne(models.Model):
+    field_one = models.BooleanField()
+
+    class Meta:
+        abstract = True
+ 
+class AbstractModelTwo(models.Model):
+    field_two = models.BooleanField()
+
+    class Meta:
+        abstract = True
+ 
+class OneTwo(AbstractModelOne, AbstractModelTwo):
+    pass
+
+class TwoOne(AbstractModelTwo, AbstractModelOne):
+    pass
+
 #
 # Abstract base classes with related models where the sub-class has the
 # same name in a different app and inherits from the same abstract base
diff -r 1a5661fe179d tests/modeltests/model_inheritance/tests.py
--- a/tests/modeltests/model_inheritance/tests.py	Tue Nov 16 15:14:04 2010 +0000
+++ b/tests/modeltests/model_inheritance/tests.py	Tue Nov 16 23:13:30 2010 +0100
@@ -4,7 +4,7 @@
 from django.test import TestCase
 
 from models import (Chef, CommonInfo, ItalianRestaurant, ParkingLot, Place,
-    Post, Restaurant, Student, StudentWorker, Supplier, Worker)
+    Post, Restaurant, Student, StudentWorker, Supplier, Worker, OneTwo, TwoOne)
 
 
 class ModelInheritanceTests(TestCase):
@@ -269,3 +269,10 @@
         self.assertNumQueries(1,
             lambda: ItalianRestaurant.objects.select_related("chef")[0].chef
         )
+
+        names = [field.name for field in OneTwo._meta.fields]
+        self.assertEqual(["id", "field_one", "field_two"], names)
+
+        names = [field.name for field in TwoOne._meta.fields]
+        self.assertEqual(["id", "field_two", "field_one"], names)
+
