I'm making a multithreaded account creator and I want the user to be able to choose between using DeathByCaptcha and manually entering CAPTCHAs. However, I only want frmCAPTCHA to show one instance at a time so that the user doesn't get bombarded with windows while trying to type in one captcha. In the sub that I multithread, I have this code: Code: If chkUseDBC.Checked = True Then 'DBC code ElseIf chkUseDBC.Checked = False Then Do While frmCAPTCHA.isLoaded = True Delay(0.1) Loop frmCAPTCHA.Filernd = Filernd frmCAPTCHA.Show() Do While TheCAPTCHA = "" Delay(0.1) Loop End If In frmCAPTCHA, I have registered Code: Public isLoaded as Boolean = False and Code: isLoaded = True on Form_Load But, even if I delay QueUserWorkItem one second, frmCAPTCHA still opens multiple instances. Even if I use the code: Code: If frmCAPTCHA.isLoaded = True Then MsgBox("Already loaded") Exit Sub End If frmCAPTCHA.Show() Exit Sub it STILL opens the form multiple times AND shows the msgbox. Is there something I'm missing with threading? I don't see any problems with my code.