Pakistan's national selection committee headed by Inzamam ul Haq had called Umar Amin, Sohail and Asif Zakir for fitness test at National Cricket Academy.
Akmal had failed to clear the fitness test in the pre- camp for Champions Trophy in Birmingham. He was told to return home to work on his fitness.
"The NCA trainer conducted the test of all three players and based on the reports submitted by the trainer and upon Pakistan's team management request Haris Sohail has been selected to replace Umar Akmal for the Champions Trophy to commence from June 1, 2017 in England and Wales," the Pakistan Cricket Board said in a statement.
Pakistan will open their Champions Trophy campaign against arch-rivals India on June 4. Haris, a left-handed batsman, has not played for Pakistan since mid 2015 as he sustained a knee injury, for which he had to undergo a surgery in Australia and has only recently returned to domestic cricket.