If type('oMyForm') # 'O' or isnull(oMyForm) public oMyForm do form MyForm name oMyForm else oMyForm.show() &&move the first instance of MyForm to the forefront endif It's important to make oMyForm public so it won't go out of scope. Also, you may want to release the object variable oMyForm in the Release method of MyForm. If you want to do this check inside of the form's own Init method, you can do the reverse of the above "If" statement in Init method and return a false value to stop the creation of the form, something like: public oMyForm do form MyForm name oMyForm . . * MyForm's Init method if type('oMyForm')='O' and !isnull(oMyForm) return .F. endif * the rest of Init method . .Again, make sure you declare oMyForm a public variable first. But all things considered, I think it's a better idea to do this check outside of the form.