Villager refuses to trade!

So I’m playing Minecraft 1.14 and I’ve got a librarian with Silk Touch for 2 Emeralds. He has access to his bed and his lectern.

I know he can refresh his trades, as I have made him do it with his 24 paper trade. But, the silk touch book, once I bought one, it doesn’t lock but now he makes a disagreeing noise when I try to put the items in to trade, and while I can click the book and put it in my inventory (which consumes the trade resources).

When I close the trade GUI the items are refunded and I don’t get the book.

Its been days. How do I sort this?

I’m playing Java version.