Cloth sim pinning problem

I have a scene which consists of a book lying flat on a blanket.
The blanket edges rise up, wrapping around the book and lifting it up off the ground.

I created a plane, subdivided several times (for smoothness), altered the gravity to 10. I then created a vertex group where the plane sits on the book and used that to map the pinning.

However, when I run the sim the cloth rips straight through the book.:confused:

How can I achieve what I am after? Thanks.

Think I may have worked it out.
Looks like I have to select the inverse of the pinning map when the gravity is reversed (gravity is 9 rather than -9)