When surrounded with spaces, the signs < and > are transformed into < and >. When the Zsh injector parses the string, it recognises the sign ; as a keyword, which leads to the result >;.
It would be better to ignore ";" when it is used with > or <