Halfords has cut delivery charges to the north of Scotland after the First Minister criticised the company for charging £50 to deliver a set of £5.99 towels to Speyside.

Nicola Sturgeon described the fee as "shocking" after the issue was raised by Moray SNP MSP Richard Lochhead during First Minister's Questions last week.

Halfords has now pledged to charge a maximum of £2.99 regardless of where the customer lives.

The company previously said about 5% of customers living in the Highlands and Islands faced higher delivery charges.

It said the £50 charge to deliver towels to Speyside was because the product had been bought from a third-party seller through the Halfords Marketplace.

After the criticism, however, the company now intends to absorb extra costs for deliveries to more rural areas.

SNP MP Angus Robertson said: "Halfords' decision to quickly review and change their delivery charges policy is a very welcome change of heart.

"I am fully prepared to name and shame as many companies as it takes to sort this issue. If more companies respond in the positive way that Halfords has then that will be a step forward."

Mr Lochhead said: "Until companies stop treating customers in rural Scotland with contempt when it comes to delivery charges then we will continue to take a hard line on naming and shaming them."

A Halfords spokeswoman added: "When ordering from Halfords.com, normal carriage costs to the Highlands and Islands region apply in over 95% of cases.

"The exception to this was if a customer purchased an online only exclusive product on Halfords Marketplace, which is an online platform that Halfords hosts for smaller independent retailers who deliver direct.

"We agree that the previous charge did not make sense if a Marketplace customer was ordering one item at a small cost and having completed a review, we have reduced the carriage costs to a standard £2.99.

"All suppliers have been notified. Halfords will subsidise the difference whenever the carriage cost is more.

"We would like to apologise for the frustration this charge has caused for our Marketplace customers."