treat ^ specially. This fixes #8