anchor.diff:                    {[rtm_entry_new(X, unknown, I, unknown) | Acc ], I - 1}
                   end,
                   {[], length(RTM_ids) - 1}, RTM_ids),
  -    rtm_update(NewRTMs, 1, {update_RTMs_on_init}),
  +    rtm_update_once(NewRTMs),
       state_set_RTMs(State, NewRTMs);
   
   on_init({update_RTMs}, State) ->
       %% only in tx_tm not in rtm processes!
       ?DBG_ASSERT(tx_tm =:= state_get_role(State)),
  -    rtm_update(state_get_RTMs(State),
  -               config:read(tx_rtm_update_interval) div 1000,
  -               {update_RTMs}),
  +    rtm_update_trigger(state_get_RTMs(State)),
       State;
   on_init({update_RTMs_on_init}, State) ->
       ?TRACE_RTM_MGMT("tx_tm_rtm:on_init:update_RTMs in Pid ~p ~n", [self()]),
       %% only in tx_tm not in rtm processes!
       ?DBG_ASSERT(tx_tm =:= state_get_role(State)),
  -    rtm_update(state_get_RTMs(State), 1, {update_RTMs_on_init}),
  +    rtm_update_once(state_get_RTMs(State)),
  +    msg_delay:send_trigger(1, {update_RTMs_on_init}),
       State;
   
   on_init({get_rtm_reply, InKey, InPid, InAcceptor}, State) ->
  
positive.code:     %% only in tx_tm not in rtm processes!
      ?DBG_ASSERT(tx_tm =:= state_get_role(State)),
      RTMs = state_get_RTMs(State),
      rtm_update(RTMs, config:read(tx_rtm_update_interval) div 1000,
                 {update_RTMs}),
      State;
  on({update_RTMs_on_init}, State) ->
      %% only in tx_tm not in rtm processes!
  
negative.code:     case Role of
          tx_tm ->
              comm:send_local(self(), {get_node_details}),
              rtm_update_trigger(state_get_RTMs(InitialState)),
              msg_delay:send_trigger(1, {update_RTMs_on_init}),
              %% subscribe to id changes
              rm_loop:subscribe(self(), ?MODULE,
                                fun rm_loop:subscribe_dneighbor_change_filter/3,
  