This is not a bug.
When there's more than one acceptable move for the side you're training on, you have to define for CPT how you want it to test you.
In the candidate move list, you have to click on Ndb5 to ensure it has an asterisk in front of it to mark it as a "best move".
Ncb5 could also be marked as a "best move" if you want to be tested on that variation as well.
In the Training module, go to the "Correct Move" tab.
You have to set "Which candidate moves count as correct" to "All best moves".
You have to set "Which moves should CPT take into account when calculating a variation to test you in?" for "Moves of your color" to "All best moves"
Now even with this, sometimes CPT will expect you to play Ncb5 and sometimes Ndb5 depending on which variation has a poorer score at the moment. However you won't be penalized for playing the "wrong" move; CPT which just move your piece back and play the move necessary to get into the poorer variation.
Of course you can force training in one particular line by moving the preferred candidate move to the top of the candidate moves list and setting the training module back to "Only top ranked candidate move"