Reading Session value in beforeFilter() cake php

I am using the app_error script to deal with broken links on my site, and in the error404() action I write a session value like this:

$this->controller->Session->write("visitor", $visitorId);

This all works as I can successfully read the session back if I reload app_error.
Once I have written this session value I redirect to a controller:

$this->controller->redirect($redirectURL,301);

What I am then trying to do is to check this session value in the beforeFilter() callback in app_controller, but it just doesn't seem to be able to detect this value. Ive tried

$this->Session->read("visitor");

and it does not retrieve anything. I've also tried the check method.

Can anyone see anything obvious here? I have debug set to 0 (production) so it uses the error404() by default.