I've found that happens when your upgrade is processed between time of request and check-in.
So you request at T-7, and they do a sweep at T-4 that upgrades you. Then you often have both segments on the file, and they usually go through once a day cleaning stuff up (either manually or automatically, I'm not sure).
When it happens closer to departure (like T-25), I would call in and have them do it. It usually just takes a quick explanation of the problem, and they'll be able to see the double booking, and they can fix it up.
I've also had COUPON REQUIRED in that situation.
Basically, whenever there is a change to your booking more complicated than a seat assignment (i.e. upgrade, schedule change, rebooking, whatever), I'd check online to make sure everything looks sane, and call in if it doesn't.