Don't worry! Solved by RTFM! The answer is yes, I should do bitwise comparison... If BitAND(GUICtrlRead($RadioOutputPNG), $GUI_CHECKED) Then EDIT: For completeness, if you want to check that a radio/checkbox is checked AND enabled then I think you need to do two different comparisons. I was expecting this to work but it doesn't... If BitAND(GUICtrlRead($CheckboxText), $GUI_CHECKED, $GUI_ENABLE) ThenBecause GUICtrlRead() doesn't return the state for checkboxes. Instead you have to additionally check GUICtrlGetState()... If BitAND(GUICtrlRead($CheckboxText), $GUI_CHECKED) AND BitAND(GUICtrlGetState($CheckboxText), $GUI_ENABLE) Then This is something that I just fell into because of the wording in the help under GUICtrlRead()... http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm In the table under the "Return Value" section, the "Checkbox, Radio" row has a link to this table of states... http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetState.htm#StateTable By linking to that table in the return value on the GUICtrlRead() page, I assumed that all the items in that table of states would be valid return values for GUICtrlRead() but it turns out to not be the case. I'm not an expert so I might be wrong here and I would appreciate someone correcting me if I am wrong But I hope this helps someone out! Cheers, B