<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -195,7 +195,7 @@ module ActiveRecord
 
       def preload_has_one_association(records, reflection, preload_options={})
         return if records.first.send(&quot;loaded_#{reflection.name}?&quot;)
-        id_to_record_map, ids = construct_id_map(records)
+        id_to_record_map, ids = construct_id_map(records, reflection.options[:primary_key])
         options = reflection.options
         records.each {|record| record.send(&quot;set_#{reflection.name}_target&quot;, nil)}
         if options[:through]</diff>
      <filename>activerecord/lib/active_record/association_preload.rb</filename>
    </modified>
    <modified>
      <diff>@@ -803,4 +803,20 @@ class EagerAssociationTest &lt; ActiveRecord::TestCase
     end
   end
   
+  def test_preload_has_one_using_primary_key
+    expected = Firm.find(:first).account_using_primary_key
+    firm = Firm.find :first, :include =&gt; :account_using_primary_key
+    assert_no_queries do
+      assert_equal expected, firm.account_using_primary_key
+    end
+  end
+
+  def test_include_has_one_using_primary_key
+    expected = Firm.find(1).account_using_primary_key
+    firm = Firm.find(:all, :include =&gt; :account_using_primary_key, :order =&gt; 'accounts.id').detect {|f| f.id == 1}
+    assert_no_queries do
+      assert_equal expected, firm.account_using_primary_key
+    end
+  end
+  
 end</diff>
      <filename>activerecord/test/cases/associations/eager_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7db1704068b86fb2212388b14b4963526bacfa5d</id>
    </parent>
  </parents>
  <author>
    <name>Frederick Cheung</name>
    <email>frederick.cheung@gmail.com</email>
  </author>
  <url>http://github.com/rails/rails/commit/f9cab0e503a4721c9d0369f89bb85c6e658f778c</url>
  <id>f9cab0e503a4721c9d0369f89bb85c6e658f778c</id>
  <committed-date>2008-12-26T15:26:37-08:00</committed-date>
  <authored-date>2008-12-26T15:26:37-08:00</authored-date>
  <message>Fix :include of has_one with :primary_key option</message>
  <tree>8d0c579bd0f75b824779b3a5ba76c3f39af157a6</tree>
  <committer>
    <name>Frederick Cheung</name>
    <email>frederick.cheung@gmail.com</email>
  </committer>
</commit>
