--- activerecord-3.0.3/lib/active_record/associations/through_association_scope.rb.orig 2010-12-15 19:27:30.000000000 -0200 +++ activerecord-3.0.3/lib/active_record/associations/through_association_scope.rb 2010-12-15 19:27:34.000000000 -0200 @@ -53,7 +53,7 @@ def construct_joins(custom_joins = nil) polymorphic_join = nil if @reflection.source_reflection.macro == :belongs_to - reflection_primary_key = @reflection.klass.primary_key + reflection_primary_key = @reflection.source_reflection.options[:primary_key] || @reflection.klass.primary_key source_primary_key = @reflection.source_reflection.primary_key_name if @reflection.options[:source_type] polymorphic_join = "AND %s.%s = %s" % [