It kind of is. It still needs the guard because b._locks is None. It also gives you the convenient side effect of coverage not happening for the callback unless one of the test configurations doesn't skip this test.