diff --git a/tests/modeltests/select_related/models.py b/tests/modeltests/select_related/models.py
index 3c2e772..ef0d3e4 100644
--- a/tests/modeltests/select_related/models.py
+++ b/tests/modeltests/select_related/models.py
@@ -56,4 +56,19 @@ class Species(models.Model):
     name = models.CharField(max_length=50)
     genus = models.ForeignKey(Genus)
     def __unicode__(self):
-        return self.name
\ No newline at end of file
+        return self.name
+
+class Parent1(models.Model):
+    name = models.CharField(max_length=50)
+    def __unicode__(self):
+        return self.name
+
+class Parent2(models.Model):
+    subname = models.CharField(max_length=50)
+    def __unicode__(self):
+        return self.subname
+
+class Child1(Parent2):
+    parent1 = models.OneToOneField(Parent1)
+    def __unicode__(self):
+        return self.subname
diff --git a/tests/modeltests/select_related/tests.py b/tests/modeltests/select_related/tests.py
index 1b3715a..adc8351 100644
--- a/tests/modeltests/select_related/tests.py
+++ b/tests/modeltests/select_related/tests.py
@@ -2,7 +2,8 @@ from __future__ import with_statement, absolute_import
 
 from django.test import TestCase
 
-from .models import Domain, Kingdom, Phylum, Klass, Order, Family, Genus, Species
+from .models import (Domain, Kingdom, Phylum, Klass, Order, Family, Genus,
+                     Species, Parent1, Child1)
 
 
 class SelectRelatedTests(TestCase):
@@ -31,6 +32,10 @@ class SelectRelatedTests(TestCase):
         self.create_tree("Eukaryota Animalia Chordata Mammalia Primates Hominidae Homo sapiens")
         self.create_tree("Eukaryota Plantae Magnoliophyta Magnoliopsida Fabales Fabaceae Pisum sativum")
         self.create_tree("Eukaryota Fungi Basidiomycota Homobasidiomycatae Agaricales Amanitacae Amanita muscaria")
+        parent = Parent1(name="Parent1")
+        parent.save()
+        child = Child1(subname="Child1", parent1=parent)
+        child.save()
 
     def setUp(self):
         # The test runner sets settings.DEBUG to False, but we want to gather
@@ -160,3 +165,13 @@ class SelectRelatedTests(TestCase):
             Species.objects.select_related,
             'genus__family__order', depth=4
         )
+
+    def test_subclass_with_select_related(self):
+        with self.assertNumQueries(1):
+            p = Parent1.objects.select_related('child1').get(name="Parent1")
+            self.assertEqual(p.child1.subname, u'Child1')
+
+    def test_subclass_without_select_related(self):
+        with self.assertNumQueries(2):
+            p = Parent1.objects.get(name="Parent1")
+            self.assertEqual(p.child1.subname, u'Child1')
