anchor.diff:  			{error, not_found}
   	end.
   
  --spec add_session_attributes(Subscriber, Attributes) -> Result
  +-spec add_session_attributes(Subscriber, Attributes, MultiSessionStatus) -> Result
   	when
   		Subscriber :: string() | binary(),
   		Attributes :: radius_attributes:attributes(),
  +		MultiSessionStatus :: undefined | boolean(),
   		Result :: ok | {error, term()}.
   %% @doc Extract session related attributes from `Attributes' and append
   %% to `Subscriber's existing session attribute list.
   %% @hidden
  -add_session_attributes(Subscriber, Attributes) ->
  +add_session_attributes(Subscriber, Attributes, MultiSessionStatus) ->
   	NewSessionAttrs = extract_session_attributes(Attributes),
   	{ok, #subscriber{session_attributes = CurrentSessionList} = S}
   			= ocs:find_subscriber(Subscriber),
  -	NewSessionList = [NewSessionAttrs | CurrentSessionList],
  +	NewRecord = case MultiSessionStatus of
  +		false ->
  +			S#subscriber{session_attributes = [NewSessionAttrs]};
  +		_ ->
  +			NewSessionList = [NewSessionAttrs | CurrentSessionList],
  +			S#subscriber{session_attributes = NewSessionList}
  +	end,
   	F = fun() ->
  -		mnesia:write(S#subscriber{session_attributes = NewSessionList})
  +		mnesia:write(NewRecord)
   	end,
   	case mnesia:transaction(F) of
   		{aborted, Reason} ->
  
positive.code: 	false ->
  		request3(list_to_binary(Password), StateData);
  	{true, false, [ExistingSessionAtt]} ->
  		case pg2:get_closest_pid(ocs_radius_acct_top_sup) of
  			{error, Reason} ->
  				request5(Reason, StateData);
  			DiscFsmSup ->
  				start_disconnect(DiscFsmSup, ExistingSessionAtt, StateData)
  		end;
  	{true, true, _ExistingSessionAtt} ->
  		request3(list_to_binary(Password), StateData);
  	{error, _Reason} ->
  		request5(not_found, StateData)
  end.
  
negative.code: 	end.
  %% @hidden
  request4(RadiusPacketType, ResponseAttributes, #statedata{session_id = SessionID,
  		req_attr = Attributes, subscriber = Subscriber,
  		multi_sessions_allowed = MultiSessions} = StateData) ->
  	case add_session_attributes(Subscriber, Attributes, MultiSessions) of
  		ok ->
  			response(RadiusPacketType, ResponseAttributes, StateData),
  			{stop, {shutdown, SessionID}, StateData};
  