Help - stubborn hens

I have a very small set up and 4 hens. Two of my hens were laying when I go them. They are good as gold for laying in the nesting boxes.

The first two hens I got weren't quite laying yet. They have started and are very regular layers now, but.... neither will lay eggs in the nest boxes. I've done the trick of putting fake eggs in the boxes but it's no use. I can put up with one's behavior, she goes in the coop and carefully makes a little nest in the corner.

The other hen, however, insists on laying her egg from the roost. Luckily the coop is smallish (3x4 not counting the nest box area). The coop height is 3 ft at the highest and slopes to 2 foot. I access it by sliding the roof. The nest boxes are even with the coop floor (and cannot be moved). The roosts are 18inches off the floor. She doesn't lay off the roost at night but goes back in during day. I've watched just sitting on the roost and laying her egg. Then she gets down and goes back into the run. Once I tried to push her off before she laid the egg - what a ruckus.

So far I've coped by just making sure there are adequate shavings below the roost and have had no cracked eggs. But I would really like to break her of this habit. I've thought about putting a box up on the roosts during the day just to make them unavailable. Has anyone tried blocking the roost to prevent roost laying. Any success? I thought I had a freaky chicken until I read some other posts about the same problem.