Can someone explain what is going on here. My wee bit of code is: (command "undefine" "mtext") (defun c:mtext (/) (alert "mtext") (SetQ LE (entlast)) (initdia 1) (command ".mtext" pause pause) (while (= (logand (getvar "CMDACTIVE") 1) 1)(command pause)) (If (= (entlast) LE)(alert "Function cancelled")) );defun Everything works right the first time I run it, but the second time it seems the old command runs (ie no alert box). Do I just have end of the year brain cramps and I am missing something obvious? Thanks, Gordon