Patient compliance should be ensured in an effective tuberculosis control programme. We measured patient compliance by detecting antituberculous drugs in the urine of 237 outpatients receiving one to three antituberculous drugs. Positive controls were 20 hospitalised patients, supervised to receive isoniazid (INH), rifampicin (RIF) and pyrazinamide (PZA), and negative controls were not on any drugs. Among the 237 study patients, only 67% were found to be taking the appropriate treatment and 8% had taken none. We conclude that a remarkable number of patients (33%) were non-compliant with treatment. The detection of antituberculous drugs in the urine is a quick, simple and inexpensive means of measuring adherence to treatment. Unless directly observed therapy (DOT) is adopted, we recommend routine urine testing for antituberculous drugs to identify defaulting patients.