anchor.diff:      IncomingSessId = get_provider_session_id(Provider, incoming, PeerProviderId),
       OutgoingSessId = get_provider_session_id(Provider, outgoing, PeerProviderId),
   
  -    IncomingConnExists = session_exists(Provider, IncomingSessId),
  +    IncomingSessExists = session_exists(Provider, IncomingSessId),
       % Outgoing session is always created but will fail to make any connection
       % in case of providers incompatibilities.
  -    OutgoingConnExists = session_exists(Provider, OutgoingSessId) andalso
  -        list_session_connections(Provider, OutgoingSessId) =/= [],
  -
  -    IncomingConnExists orelse OutgoingConnExists.
  +    OutgoingConnExists = case session_exists(Provider, OutgoingSessId) of
  +        true ->
  +            case list_session_connections(Provider, OutgoingSessId) of
  +                {ok, [_ | _]} -> true;
  +                _ -> false
  +            end;
  +        false ->
  +            false
  +    end,
  +
  +    IncomingSessExists orelse OutgoingConnExists.
   
   
   get_provider_session_id(Worker, Type, ProviderId) ->
  
positive.code: -spec node_ip(node()) -> inet:ip4_address().
  node_ip(Node) ->
      {ok, [IP]} = inet:getaddrs(?GET_HOSTNAME(Node), inet),
      IP.
negative.code: 
  
  list_session_connections(Provider, SessId) ->
      rpc:call(Provider, session_connections, list, [SessId]).
  
  
  -spec expected_configuration(node()) -> #{binary() := binary() | [binary()]}.
  