Nope, I don't htink there's a bug in Mockito on this front. If you are using thenReturn, then the return value will be returned for each interaction, if you are using thenAnswer, this is the given that will be used forever. Of course unless you write another stub for the same interactions, which will replace the previous one.
on SO, Jonathan's answer looks like the best approach. Plus your comment show that you actually have two different test scenario, your unit test should express them in distinct test method name. Using answer directly this way look britle to me, especially if your actual test doesn't distinct the 2 different behavior you described.
If however your test for example with threads and the first interaction may or may not happen before the other, then null should be expected, right ?
Hope that helps.
Cheers,