Here is a seemingly related problem with raise and lower frame. ;; This whole sexp works (let ((f (selected-frame))) (lower-frame f) (sit-for 1) (raise-frame f)) ;; Only the first raise-frame call works (let ((f (next-frame))) ;; f is raised (raise-frame f) (sit-for 1) ;; f is NEVER LOWERED (lower-frame f)) Bob