--- associations.rb.orig 2009-12-18 13:11:37.000000000 -0500 +++ associations.rb 2009-12-18 13:12:06.000000000 -0500 @@ -2162,7 +2162,7 @@ " #{join_type} %s ON %s.%s = %s.%s " % [ table_name_and_alias, connection.quote_table_name(aliased_table_name), - reflection.klass.primary_key, + reflection.options[:primary_key] || reflection.klass.primary_key, connection.quote_table_name(parent.aliased_table_name), options[:foreign_key] || reflection.primary_key_name ]