If you set the
gnuserv-frame variable to the frame that should be
used to display buffers that are pulled up, a new frame will not be
created. For example, you could put
(setq gnuserv-frame (selected-frame))
early on in your init.el, to ensure that the first frame created is the one used for your gnuserv buffers.
There is an option to set the gnuserv target to the current frame. See
Options->Display->"Other Window" Location->Make Current Frame Gnuserv Target
You can also change this with Customize. Select from the
(Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame... or type
M-x customize RET gnuserv RET.