A number of subspecies are recognized within its widespread range in South Asia and Southeast Asia. The nominate race is from the lowlands of Sri Lanka. Race O. s. fernandonis is found in the highlands of Sri Lanka. Neighbouring India has O.s. guzuratus in the peninsula and west to Pakistan while towards the north O. s. patia is found in the Terai of Nepal along the Himalayan foothills until Myanmar. A small population of O. s. patia is also found in the northern Eastern Ghats (Wangasara). The hills of northeastern India have O. s. luteus. In Southeast Asia O. s. inexpectatus and O. s. maculicollis are found in Thailand, Laos and Vietnam, Malaysia, Cambodia and Vietnam. South east China, including the island of Hainan, and Tonkin in Vietnam have O. s. longicauda while O. s. edela is found on Java.