anchor.diff:      ConnLookup = ets:lookup(sys_dist, Node),
       R = case (catch erts_internal:new_connection(Node)) of
               {Nr,_DHandle}=ConnId when is_integer(Nr) ->
  -                do_explicit_connect(ConnLookup, Type, Node, ConnId, From, State);
  +                R1 = do_explicit_connect(ConnLookup, Type, Node, ConnId, From, State),
  +                case R1 of
  +                    {reply, true, _S} -> %% already connected
  +                        ok;
  +                    {noreply, _S} -> %% connection pending
  +                        ok;
  +                    {reply, false, _S} -> %% connection refused
  +                        erts_internal:abort_connection(Node, ConnId)
  +                end,
  +                R1;
                       
               _Error ->
                   error_logger:error_msg("~n** Cannot get connection id for node ~w~n",
  
positive.code:     verbose({auto_connect, Node, Nr, DHandle}, 1, State),
      ConnId = {Nr, DHandle},
      NewState =
          case do_auto_connect(normal, Node, ConnId, false, noreply, State) of
              {noreply, S} ->           %% Pending connection
                  S;
  
  
negative.code:     ok = monitor_nodes(true,[{node_type,all}]),
      Reply = case lists:member(Node,nodes([connected])) of
                  true ->
                      true;
                  _ ->
                      receive
                          {nodeup,Node,_} ->
                              true
                      after connecttime() ->
                              false
                      end
              end,
      ok = monitor_nodes(false,[{node_type,all}]),
      {Pid, Tag} = From,
      erlang:send(Pid, {Tag, Reply}).
  
  
  %% If the net_kernel isn't running we ignore all requests to the
  