Standard practice, otherwise everyone would upgrade then try the "slime ball route" (as we used to call it when customers tried the same thing to get out of 3rd party maintenance contracts) and cancel to get out of a contract..
An old contract only becomes null and void in reference to a new contract if that new contract is taken and not cancelled within the cancellation period. If you do cancel then the new contract itself is null and void and the old contract continues as the cancellation requirement has not been met.
Try it out