Can't you use card id here?  The could avoid some extra card lookups too, right?