doing creates on has_many_through associations with :conditions?

I'm confused about something I thought should work. I have tables Users and Blogs, joined together through Memberships. Membership also has a boolean for moderator-ness. So, the Blog model looks like this:

class Blog < ActiveRecord::Base
  has_many :memberships

  has_many :users,
           :through => :memberships
  has_many :moderators,
           :through => :memberships,
           :source => :user,
           :conditions => { :memberships => {:moderator => true} }

Imagine something trivial like this:

b = Blog.create(:name => 'politics')
user1 = User.create(:name => 'billg')
user2 = User.create(:name => 'dhh')

b.users << user1
b.moderators << user1!

I see this