The BCCI's selection committee, headed by Sandeep Patil made this surprise choice of including Harbhajan, on Wednesday. Harbhajan, who has played 101 Tests, has not featured in the five-day format for over 2 years.
The 34-year-old's last Test was in March 2013, against Australia in Hyderabad. Harbhajan has taken Ravindra Jadeja's place in the 15-man squad.
The panel also announced the ODI squad, to be captained by MS Dhoni and there were no surprises in it. There were speculations that seniors would opt out but it is not the case.
Paceman Mohammed Shami, who missed the ongoing Indian Premier League 2015 (IPL 8) due to injury, was not picked as he is still not fit.
India will play Bangladesh in one off Test from June 10. After this, the two sides will be involved in 3 One Day Internationals starting from June 18.
India Test squad: Virat Kohli (captain), Murali Vijay, Shikhar Dhawan, KL Rahul, Cheteshwar Pujara, Ajinkya Rahane, Rohit Sharma, Wriddhiman Saha (wicketkeeper), R Ashwin, Harbhajan Singh, Karn Sharma, Bhuvneshwar Kumar, Umesh Yadav, Varun Aaaron, Ishant Sharma.
ODI squad: MS Dhoni (captain and wicketkeeper), Rohit Sharma, Ajinkya Rahane, Shikhar Dhawan, Virat Kohli, Suresh Raina, Ambati Rayudu, R Ashwin, Ravindra Jadeja, Axar Patel, Bhuvneshwar Kumar, Umesh Yadav, Mohit Sharma, Stuart Binny, Dhawal Kulkarni.
Full schedule of India tour
June 7 (Sunday): Team India arrives in Bangladesh
June 8, 9: Practice
June 10-14 (Wednesday to Sunday): 1st Test in Fatullah
June 15, 16 and 17: Practice
June 18 (Thursday): 1st ODI in Mirpur (June 19 Reserve day)
June 20: Practice
June 21 (Sunday): 2nd ODI in Mirpur (June 22 Reserve day)
June 23: Practice
June 24 (Wednesday): 3rd ODI in Mirpur (June 25 Reserve day)