anchor.diff:      ?info("    schedule:timeout(): service:          ~p", [ SvcName]),
       ?info("    schedule:timeout(): trans_id:         ~p", [ TransID]),
   
  -    %% Atomically increment our counter to ensure that we are the
  -    %% first and only processing accessing the entry.
  -    [ Svc] = ets:lookup(SvcTid, SvcName),
  -    case ets:update_counter(Svc#service.messages_tid, 
  -			    TransID, 
  -			    { #message.timeout_counter, 1 }) of 
  -	%% If it is one, we were the first one who got an update through.
  -	1 ->
  +    case ets:lookup(SvcTid, SvcName) of
  +	[ Svc ] ->
   	    %% Delete from ets.
   	    [ Msg ] = ets:lookup(Svc#service.messages_tid, TransID),
   	    do_timeout_callback(Svc, Msg),
   	    ets:delete(Svc#service.messages_tid, TransID);
  -
  -	%% send_messages() processed the message before we had a
  -	%% chance to get it.
  -	_ ->
  -	    ?info("    schedule:timeout(~p/~p): Already processed. Ignored", 
  -		  [ SvcName, TransID])
  +	_-> ok
       end,
       {noreply, St};
   
  
positive.code: 	     timeout_cb = Callback,
  	     parameters = Parameters, 
  	     signature = Signature,
  	     certificate = Certificate,
  	     timeout_counter = 0
  	    },
  
      %% Find or create the service
  
negative.code: 	  timeout_cb,    %% Callback to invoke when timeout occurs. 
  	  parameters,
  	  signature,
  	  certificate
  	 }).
  
  
  