I hate this kind of thing. Hate it.
I went out for a friend's birthday meal a couple of weeks ago, and there were a couple of people from her work there, and one of them tried to pull the same thing. She didn't even try to hide it. She sat there and said something like, "oh there's already X amount on the plate," so put her £20 note back, and took a fiver out of her purse! I immediately said, "er no, the reason there's X amount on the plate, is to cover the tip, so you need to pay for your FULL meal."
Because I'd spoken out, a couple of the others at the table agreed with me, so she begrudgingly took the £20 back out, BUT as her meal had come to just under £17, she took £3 'change' off the plate. Cheeky fucker!
(I went back, and put another fiver on the plate, to cover her share of the tip. I hate to see wait staff, who are often on low wages, shafted out of tips).