WH Smith has said a computer error resulted in some toiletries in hospitals being sold at almost eight times the high street price, and has vowed to donate any extra profits made to charity.
The newsagent announced on Friday it was conducting a review after it emerged that tubes of Colgate toothpaste were being sold for £7.99 in its hospital kiosks.
It has outlets in 129 hospitals across the country.
At its store at Pinderfields Hospital, part of Mid Yorkshire Hospital trust, a 75g tube of Colgate toothpaste was on sale for £7.99, when the same product can be bought for 99p in Superdrug and £1 in Sainsbury's.
Other essentials including nappies and mouthwash were also heavily marked up in price, the Telegraph reported.
On Saturday, the retailer said it had reviewed pricing across its stores and found that a computer glitch on a certain line of products had led to the price hike in hospitals.
A spokesman said: "We would like to apologise to our customers for a small number of recent pricing errors in our system.
"The errors have now been rectified and the extra profits from these sales will be donated to charity."
Speaking to the Telegraph, Rachel Power, chief executive of the Patients Association, said: "When people are unwell and in hospital, and therefore unable to go elsewhere with any ease, they should be able to expect retailers not to exploit their situation for profit."
WH Smith said it aimed to be competitive with other high-street retailers. "Prices in our hospital stores are the same as our high street stores," the spokesman said.