It's ugly (like any plunker) and I didn't manage to get the checkboxes to render, but just click on the empty space next to the label and it will work.
To explain in detail: I am using uniform.js to create my custom uniform checkboxes via an angular directive. In this plunker, I created two different directives: the first one uses $render to keep track of state changes while the other one uses $watch.
The bug is the following: If you click on the first checkbox (the one that uses $render), the first time it will be ignored while each subsequent click will work as expected. The second checkbox uses $watch and works immediately.
This seems to happen only when using uniform.js.
Let me know what you think...
Arsen.