To reproduce,
using bitcoin-qt
- save wallet.dat
- getnewaddress for fresh addresses to receive, and send some coins to them
- use the saved wallet.dat from 1. to send another transaction that causes change
- the change will end up on a used address
another way
- use the saved wallet.dat from 1. , call getnewaddress, it will return a used address from step 2.
Coincontrol inputs get confused too, not sure how to put it in words. But it will get back to normal after calling getnewaddress a few times to the point where getnewaddress returns a real fresh address.