make-frame's docstring says "creates and returns a new frame, displaying the current buffer." This is not true if the buffer is considered conventionally hidden. struct frame * make_frame (bool mini_p) ... Lisp_Object buf = Fcurrent_buffer (); /* If current buffer is hidden, try to find another one. */ if (BUFFER_HIDDEN_P (XBUFFER (buf))) buf = other_buffer_safely (buf); I'd prefer to have an option to be literal and allow users to make a frame on a hidden current buffer. I might submit this idea under a different bug for discussion. -Stephane