We present a method of correcting self-scatter and crosstalk effects in simultaneous technetium-99m/thallium-201 stress/rest myocardial perfusion (single photon emission computed tomography) SPECT scans. The method, which is in essence a hybrid between the triple energy window method and scatter modelling, is based on a model of spatial and spectral distribution of projection counts in several selected energy windows. The parameters of the model are determined from measurements of thin rod sources in air when no in-object scatter or attenuation effects are present. The model equations are solved using the iterative maximum likelihood expectation maximization algorithm in the projection space to find estimates of the primary photopeak counts of both radionuclides. The method has been developed particularly for a novel dedicated cardiac camera based on CdZnTe pixellated detectors, although it can also be adapted to a conventional scintillator camera. The method has been validated in anthropomorphic phantom experiments. Significant improvement in defect contrast has been observed with only moderate increase in image noise. The application of the method to patient data is illustrated.