Lynn is right. You need to explain what the subVI is doing or post it. Also, instead of checking the state of some front panel button of the subVI, I would use the property Exec.State. The possible states returned are Bad, Idle, Run Top Level, or Running. You could use detection of Idle to determine whether to close the subVI.