fix weird race condition waiting for kernel_disconnected

The added `then` *should* be redundant, but doesn't seem to be.
debug