New version of recursive disable

This one actually works, but does make repeated DB calls