A systematic study on the sources of drift in a turbine-based spirometer (VMM-400) is presented. The study utilized an air-tight cylinder to pump air through the spirometer in a precise and programmable manner. Factors contributing to the drift were isolated and quantified. The drift due to imbalance in the electronics and the mechanical blade increased from 1% per breathing cycle to as much as 10% when the flow rate decreased from 0.24 to 0.08 l s(-1). A temperature difference of 16 degrees between the ambient and the air in the cylinder contributed about 3.5%. Most significantly, a difference in the breathing between inhalation and exhalation could produce a drift of 40% per breathing cycle, or even higher, depending on the extent of the breathing asymmetry. The origin of this drift was found to be rooted in the differential response of the spirometer to the different flow rate. Some ideas and suggestions for a correction strategy are provided for future work. The present work provides an important first step for eventual utilization of a spirometer as a stand-alone breathing surrogate for gating or tracking radiation therapy.