Exception message was incorrect and I've moved the size-check to just after the statement that increases size if odd.