WITH _Screen > DO WHILE .FormCount > 0 > .Forms(.FormCount).Release() > ENDDO >ENDWITHAnd this will never create a scenario where one form will never release and you will be in an infinite loop? I suppose, After you call Release, its over, no matter what?