Passengers have been told not enough time has passed since the cruise liner visited Thailand, where cases of coronavirus have been confirmed.
The ship was in Phuket on Saturday February 1st, and authorities required a full 14-day break before coming ashore in Madagascar.
Pascoe said while most passengers understood the reasons for cancelling the stopover, some were puzzled by the decision, "because the Sun Princess had visited Sri Lanka, the Seychelles and Zanzibar without any problems since leaving Phuket."
The ship, operated by Princess Cruises, is now heading to Richards Bay in South Africa, where it is scheduled to berth on Monday.
In a statement,Princess Cruises confirmed a health official "denied Sun Princess entry solely on the basis that 13 days earlier the ship had called at Phuket in Thailand."
"There was no health issue on board to warrant denial of entry," it read.
The company is the operator of the Diamond Princess, the ship quarantined off the coast of Japan.
The cruise ship has had the largest outbreak of the infection, outside of mainland China.
Japanese health officials this week said they were planning a voluntary disembarkation of guests to complete their quarantine period at a shoreside facility.
Those who are the most vulnerable will take priority, such as the elderly and passengers with pre-existing health conditions.