Code-switching is a phenomenon that exists in bilingual societies where people have the opportunity to use two or more languages to communicate. Being able to speak more than one language, bilinguals can code-switch and use their languages as resources to find better ways to convey meaning. Code-switching occurs in English classrooms in upper secondary school every day. Therefore, the aim for this paper was to investigate when and why teachers in upper secondary school code-switch when teaching L2 English. It has also looked into what language the students preferred in different classroom situations. Five teachers were interviewed and 96 students taking English 5 and 6 responded to a questionnaire. The results showed that the teachers generally tried to code-switch as little as possible but that they did code-switch in some of those situations where the students preferred either a combination of Swedish and English or only Swedish. Two of these situations were grammar instructions, where a majority of the students preferred a combination of English and Swedish, and one-to-one situations, where a majority of the students preferred Swedish. A clear majority of the students (87%) wanted their teacher to make them speak more English.