Thanks for your reply. I have just got to the bottom of the problem, and it was my own stupid fault!. I had nievely assumed that screen redraw could not be called whilst printing - of course it can. My plot object - all drawing is done in a separate class - was explicityly passed the CDC* which it held as a member variable, rather than being passed in the the plot class' Draw function. So part way through printing, the DC would change to do the screen redraw, resulting in the printer getting upset. It seems to be just coincidental that this ocurred while printing to acrobat.

Case closed.

Jon