anchor.diff:  	    %% Do the best possible with monitor_node/2.
   	    %% This code may hang indefinitely if the Process 
   	    %% does not exist. It is only used for featureweak remote nodes.
  +	    Node = get_node(Process),
   	    monitor_node(Node, true),
   	    receive
   		{nodedown, Node} -> 
  
positive.code:     end.
  
  do_call(Process, Label, Request, Timeout) ->
      %% We trust the arguments to be correct, i.e
      %% Process is either a local or remote pid,
      %% or a {Name, Node} tuple (of atoms) and in this 
      %% case this node (node()) _is_ distributed and Node =/= node().
      Node = case Process of
   	       {_S, N} when is_atom(N) ->
   		   N;
   	       _ when is_pid(Process) ->
   		   node(Process)
  	   end,
      try erlang:monitor(process, Process) of
  	Mref ->
  	    %% If the monitor/2 call failed to set up a connection to a
  
negative.code: 		    erlang:demonitor(Mref, [flush]),
  		    {ok, Reply};
  		{'DOWN', Mref, _, _, noconnection} ->
  		    Node = get_node(Process),
  		    exit({nodedown, Node});
  		{'DOWN', Mref, _, _, Reason} ->
  		    exit(Reason)
  