Se encuentra la selva siempreverde, en la rivera de los ríos, en los bosques, matorrales, arroyos, tierras cultivadas y en las zonas despejadas de bosque, a una altitud de 1350-2400 m en Angola, Congo, Tanzania y Mozambique.