diff --git a/tests/regressiontests/admin_filterspecs/tests.py b/tests/regressiontests/admin_filterspecs/tests.py
index b4b3056..698a4eb 100644
--- a/tests/regressiontests/admin_filterspecs/tests.py
+++ b/tests/regressiontests/admin_filterspecs/tests.py
@@ -8,19 +8,22 @@ from django.utils.encoding import force_unicode
 
 from models import Book
 
+def select_by(dictlist, key, value):
+    return [x for x in dictlist if x[key] == value][0]
+
 class FilterSpecsTests(TestCase):
 
     def setUp(self):
         # Users
-        alfred = User.objects.create_user('alfred', 'alfred@example.com')
-        bob = User.objects.create_user('bob', 'alfred@example.com')
+        self.alfred = User.objects.create_user('alfred', 'alfred@example.com')
+        self.bob = User.objects.create_user('bob', 'bob@example.com')
         lisa = User.objects.create_user('lisa', 'lisa@example.com')
 
         #Books
-        bio_book = Book.objects.create(title='Django: a biography', year=1999, author=alfred)
-        django_book = Book.objects.create(title='The Django Book', year=None, author=bob)
+        self.bio_book = Book.objects.create(title='Django: a biography', year=1999, author=self.alfred)
+        self.django_book = Book.objects.create(title='The Django Book', year=None, author=self.bob)
         gipsy_book = Book.objects.create(title='Gipsy guitar for dummies', year=2002)
-        gipsy_book.contributors = [bob, lisa]
+        gipsy_book.contributors = [self.bob, lisa]
         gipsy_book.save()
 
         self.request_factory = RequestFactory()
@@ -75,15 +78,16 @@ class FilterSpecsTests(TestCase):
         self.assertEqual(choices[-1]['selected'], True)
         self.assertEqual(choices[-1]['query_string'], '?author__isnull=True')
 
-        request = self.request_factory.get('/', {'author__id__exact': '1'})
+        request = self.request_factory.get('/', {'author__id__exact': self.alfred.pk})
         changelist = self.get_changelist(request, Book, modeladmin)
 
         # Make sure the correct choice is selected
         filterspec = changelist.get_filters(request)[0][1]
         self.assertEqual(force_unicode(filterspec.title()), u'author')
-        choices = list(filterspec.choices(changelist))
-        self.assertEqual(choices[1]['selected'], True)
-        self.assertEqual(choices[1]['query_string'], '?author__id__exact=1')
+        # order of choices depends on User model, which has no order
+        choice = select_by(filterspec.choices(changelist), "display", "alfred")
+        self.assertEqual(choice['selected'], True)
+        self.assertEqual(choice['query_string'], '?author__id__exact=%d' % self.alfred.pk)
 
     def test_RelatedFilterSpec_ManyToMany(self):
         modeladmin = BookAdmin(Book, admin.site)
@@ -101,15 +105,15 @@ class FilterSpecsTests(TestCase):
         self.assertEqual(choices[-1]['selected'], True)
         self.assertEqual(choices[-1]['query_string'], '?contributors__isnull=True')
 
-        request = self.request_factory.get('/', {'contributors__id__exact': '2'})
+        request = self.request_factory.get('/', {'contributors__id__exact': self.bob.pk})
         changelist = self.get_changelist(request, Book, modeladmin)
 
         # Make sure the correct choice is selected
         filterspec = changelist.get_filters(request)[0][2]
         self.assertEqual(force_unicode(filterspec.title()), u'user')
-        choices = list(filterspec.choices(changelist))
-        self.assertEqual(choices[2]['selected'], True)
-        self.assertEqual(choices[2]['query_string'], '?contributors__id__exact=2')
+        choice = select_by(filterspec.choices(changelist), "display", "bob")
+        self.assertEqual(choice['selected'], True)
+        self.assertEqual(choice['query_string'], '?contributors__id__exact=%d' % self.bob.pk)
 
 
     def test_RelatedFilterSpec_reverse_relationships(self):
@@ -129,15 +133,15 @@ class FilterSpecsTests(TestCase):
         self.assertEqual(choices[-1]['selected'], True)
         self.assertEqual(choices[-1]['query_string'], '?books_authored__isnull=True')
 
-        request = self.request_factory.get('/', {'books_authored__id__exact': '1'})
+        request = self.request_factory.get('/', {'books_authored__id__exact': self.bio_book.pk})
         changelist = self.get_changelist(request, User, modeladmin)
 
         # Make sure the correct choice is selected
         filterspec = changelist.get_filters(request)[0][0]
         self.assertEqual(force_unicode(filterspec.title()), u'book')
-        choices = list(filterspec.choices(changelist))
-        self.assertEqual(choices[1]['selected'], True)
-        self.assertEqual(choices[1]['query_string'], '?books_authored__id__exact=1')
+        choice = select_by(filterspec.choices(changelist), "display", self.bio_book.title)
+        self.assertEqual(choice['selected'], True)
+        self.assertEqual(choice['query_string'], '?books_authored__id__exact=%d' % self.bio_book.pk)
 
         # M2M relationship -----
         request = self.request_factory.get('/', {'books_contributed__isnull': 'True'})
@@ -153,15 +157,15 @@ class FilterSpecsTests(TestCase):
         self.assertEqual(choices[-1]['selected'], True)
         self.assertEqual(choices[-1]['query_string'], '?books_contributed__isnull=True')
 
-        request = self.request_factory.get('/', {'books_contributed__id__exact': '2'})
+        request = self.request_factory.get('/', {'books_contributed__id__exact': self.django_book.pk})
         changelist = self.get_changelist(request, User, modeladmin)
 
         # Make sure the correct choice is selected
         filterspec = changelist.get_filters(request)[0][1]
         self.assertEqual(force_unicode(filterspec.title()), u'book')
-        choices = list(filterspec.choices(changelist))
-        self.assertEqual(choices[2]['selected'], True)
-        self.assertEqual(choices[2]['query_string'], '?books_contributed__id__exact=2')
+        choice = select_by(filterspec.choices(changelist), "display", self.django_book.title)
+        self.assertEqual(choice['selected'], True)
+        self.assertEqual(choice['query_string'], '?books_contributed__id__exact=%d' % self.django_book.pk)
 
 class CustomUserAdmin(UserAdmin):
     list_filter = ('books_authored', 'books_contributed')
