Index: django_versions/trunk/tests/modeltests/prefetch_related/tests.py
===================================================================
--- django_versions/trunk/tests/modeltests/prefetch_related/tests.py	(revision 8755)
+++ django_versions/trunk/tests/modeltests/prefetch_related/tests.py	(working copy)
@@ -7,7 +7,7 @@
 
 from .models import (Author, Book, Reader, Qualification, Teacher, Department,
     TaggedItem, Bookmark, AuthorAddress, FavoriteAuthors, AuthorWithAge,
-    BookWithYear, Person, House, Room, Employee)
+    BookWithYear, BookReview, Person, House, Room, Employee)
 
 
 class PrefetchRelatedTests(TestCase):
@@ -327,6 +327,10 @@
         self.authorAddress = AuthorAddress.objects.create(
             author=self.author1, address='SomeStreet 1')
         self.book2.aged_authors.add(self.author2, self.author3)
+        self.br1 = BookReview.objects.create(
+            book = self.book1, notes = "review book1")
+        self.br2 = BookReview.objects.create(
+            book = self.book2, notes = "review book2")
 
     def test_foreignkey(self):
         with self.assertNumQueries(2):
@@ -335,6 +339,11 @@
                          for obj in qs]
         self.assertEquals(addresses, [[unicode(self.authorAddress)], [], []])
 
+        with self.assertNumQueries(2):
+            qs = BookReview.objects.prefetch_related('book')
+            reviews = [obj.book.title for obj in qs]
+        self.assertEquals(reviews, ["Poems", "More poems"])
+
     def test_m2m_to_inheriting_model(self):
         qs = AuthorWithAge.objects.prefetch_related('books_with_year')
         with self.assertNumQueries(2):
Index: django_versions/trunk/tests/modeltests/prefetch_related/models.py
===================================================================
--- django_versions/trunk/tests/modeltests/prefetch_related/models.py	(revision 8709)
+++ django_versions/trunk/tests/modeltests/prefetch_related/models.py	(working copy)
@@ -68,6 +68,9 @@
     class Meta:
         ordering = ['id']
 
+class BookReview(models.Model):
+    book = models.ForeignKey(BookWithYear)
+    notes = models.TextField(null=True, blank=True)
 
 ## Models for default manager tests
 
Index: django_versions/trunk/django/db/models/fields/related.py
===================================================================
--- django_versions/trunk/django/db/models/fields/related.py	(revision 8755)
+++ django_versions/trunk/django/db/models/fields/related.py	(working copy)
@@ -339,8 +339,11 @@
             params = {'%s__pk__in' % self.field.rel.field_name: vals}
         else:
             params = {'%s__in' % self.field.rel.field_name: vals}
+        field_attr = self.field.rel.field_name
+        if other_field.rel and other_field.rel.parent_link:
+            field_attr += '_id'
         return (self.get_query_set(instance=instances[0]).filter(**params),
-                attrgetter(self.field.rel.field_name),
+                attrgetter(field_attr),
                 attrgetter(self.field.attname),
                 True,
                 self.cache_name)
