http://shop.virginmedia.com/money-back-guarantee.html
Try to get it fixed through retentions - dial 150 and take "thinking of leaving". Explain calmly and clearly what the problem is and what you expect to be done to keep your business. If it doesn't happen call again nearer the end of your 28 days and cancel.