I actually prefer it this way, since the vendor doesn't get cluttered with extra books.

I didn't add a check to scan the player for the books, so in theory someone could buy them and not use them to generate more the next time they talk to the vendor.