CSP to the rescue, again.

/491170