I never see any mention of this problem, so I wonder if I'm living in an alternate universe? I used to routinely get full-on lock-up when my imperfect lisp code made an error while a dcl dialog was up, until I set my *error* to do this first thing: (if (= 8 (logand 8 (getvar "cmdactive"))) (done_dialog 0) ) Worked like a charm, until I started using R2004. I even tried (term_dialog) instead of (done_dialog 0). Anybody figure out a solution, other than perfect code the first time, for R2004? Or does nobody else ever have the problem?