It's a problem on accounts management in some wallets.
To fix it, you have to export all you private keys, and create a new wallet :
1/ In your debug console, type "listaddressgroupings"
2/ Note all your addresses which have amount not null, and those you want to keep
3/ Foreach address, type "dumpprivkey xxxxxxxxxxxxxxxx" (xxxxxxxxxxxxxxxx is address), and note this private key.
4/ Close your wallet
5/ Rename your wallet.dat into another name (wallet_save.dat for example)
6/ Restart your wallet
7/ For each private key you have noted, type "importprivkey xxxxxxxxxx" in your debug console (xxxxxxxxxx is the private key)
=> You will have all your coins, and you will be able to spend it.