anchor.diff:  
   
   rename_session(Pid, Context, State) ->
  -    % Remove old session-id from the lookup tables
  -    State1 = erase_session_pid(Pid, State),
  -    % Generate a new session id and set cookie
  -    SessionId = z_ids:id(),
  -    Context1  = set_session_id(SessionId, Context),
  -    State2    = store_session_pid(SessionId, Pid, State1),
  -	{Context1, State2}.
  +	case z_context:get(set_session_id, Context) of
  +		true ->
  +			{Context, State};
  +		_ ->
  +		    % Remove old session-id from the lookup tables
  +		    State1 = erase_session_pid(Pid, State),
  +		    % Generate a new session id and set cookie
  +		    SessionId = z_ids:id(),
  +		    Context1  = set_session_id(SessionId, Context),
  +		    State2    = store_session_pid(SessionId, Pid, State1),
  +			{Context1, State2}
  +	end.
   
   
   %% @spec erase_session_pid(pid(), State) -> State
  
positive.code: 			% Browser restart, though session still alive
  			z_session:restart(Pid),
  			{Context2, State1} = rename_session(Pid, Context1, State),
  			{Pid, Context2, State1};
  		error ->
  		    Pid       = spawn_session(PersistId, Context1),
  		    SessionId = z_ids:id(),
  
negative.code: 
  
  %% @spec get_session_id(Context) -> undefined | string()
  %% @doc fetch the session id from the request, return 'undefined' when not found
  get_session_id(Context) ->
      ReqData = z_context:get_reqdata(Context),
      wrq:get_cookie_value(?SESSION_COOKIE, ReqData).
  