Irrational prescribing is a habit which is difficult to cure. However, prevention is possible and for this reason the WHO Action Programme on Essential Drugs aims to improve the teaching of pharmacotherapy to medical students. The impact of a short problem-based training course in pharmacotherapy, using a WHO manual on the principles of rational prescribing, was measured in an international multi-centre randomised controlled study of 219 undergraduate medical students in Groningen (Netherlands), Kathmandu (Nepal), Lagos (Nigeria), Newcastle (Australia), New Delhi (India), San Francisco (USA), and Yogyakarta (Japan). The manual and the course presented the students, who were about to enter the clinical phase of their studies, with a normative model for pharmacotherapeutic reasoning in which they were taught to generate a "standard" pharmacotherapeutic approach to common disorders, resulting in a set of first-choice drugs called P(ersonal)-drugs. The students were then taught how to apply this set of P-drugs to specific patient problems on the symptomatic treatment of pain, using a six-step problem-solving routine. The impact of the course was measured by tests before training, immediately after, and six months later. After the course, students from the study group performed significantly better than controls in all patient problems presented (p < 0.05). The students not only remembered how to solve old problems, but they could also apply their skills to new problems. Both retention and transfer effect were maintained at least six months after the training session in all seven medical schools. In view of the impossibility of teaching students all basic knowledge on the thousands of drugs available, this approach seems to be an efficient way of teaching rational prescribing. However, the method should be accompanied by a change in teaching methods away from the habit of transferring knowledge about the drugs towards problem-based teaching of therapeutic reasoning.