"We have recalled him after the team management wanted an additional batsman in the squad," chief selector Faruk Ahmed told Reuters.
Nafees showed an improved performance by scoring 64 runs in the second innings of the third Test against Sri Lanka, who beat Bangladesh by an innings and 193 runs on Saturday to complete a 3-0 whitewash.
Bangladesh last week dropped Nafees and former captain Habibul Bashar from the one-day squad because of poor performances.
Bashar, accompanied by wicketkeeper Khaled Mashud, batsman Rajin Saleh and paceman Mohammad Sharif, will return home from Sri Lanka on Monday.
Middle-order batsman Aftab Ahmed, opener Tamim Iqbal, all-rounder Farhad Reza and the uncapped Mahmudullah Riad will fill the vacant slots for the one-day series which begins on Friday.