check that controlURI is set and don't wait longer than needed

This was never checking the controlURI variable and always caused unneeded 30 second waits.