Because it has to do with certain plan forms. Clear the plan cache and the next compile may generate a different for. It's not a fix though.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability