anchor.diff:      end.
   
   rtstart(Args) ->
  -    rtstart([], [], Args).
  +    rtstart([], " ", Args).
   
   rtstart(Nodename, ErlPrefix, Args) ->
       case get_progs() of
   	{error,_Reason} ->
   	    {skip,"No runerl present"};
  -	{RunErl,ToErl,Erl} ->
  +	{RunErl,ToErl,[Erl|ErlArgs] = ErlWArgs} ->
   	    case create_tempdir() of
   		{error, Reason2} ->
   		    {skip, Reason2};
  -		Tempdir ->
  +		Tempdir when ErlPrefix =/= [] ->
   		    SPid =
  -			start_runerl_node(RunErl,ErlPrefix++"\\\""++Erl++"\\\"",
  +			start_runerl_node(RunErl,
  +                                          ErlPrefix++"\\\""++Erl++"\\\" "++
  +                                              lists:join($\s, ErlArgs),
   					  Tempdir,Nodename,Args),
  -		    CPid = start_toerl_server(ToErl,Tempdir),
  +		    CPid = start_toerl_server(ToErl,Tempdir,undefined),
  +                    {ok, SPid, CPid, {CPid, SPid, ToErl, Tempdir}};
  +                Tempdir ->
  +                    SPid = start_peer_runerl_node(RunErl,ErlWArgs,Tempdir,Nodename,Args),
  +                    CPid = start_toerl_server(ToErl,Tempdir,SPid),
                       {ok, SPid, CPid, {CPid, SPid, ToErl, Tempdir}}
               end
       end.
   
   rtstop({CPid, SPid, ToErl, Tempdir}) ->
  +    %% Unlink from peer so that we don't crash when peer quits
  +    unlink(SPid),
       case stop_runerl_node(CPid) of
           {error,_} ->
  -            catch rtstop_try_harder(ToErl, Tempdir);
  +            catch rtstop_try_harder(ToErl, Tempdir, SPid);
           _ ->
               ok
       end,
  
positive.code:             {putline, "echo."},
              {expect, "It returned {error,badreturn}.\r\n"},
              {expect, "echo\r\n"}
             ], [], [], " -kernel shell_history " ++ atom_to_list(?MODULE) ++
                 " -kernel provider_add badreturn" ++
                 " -pz " ++ filename:dirname(code:which(?MODULE))),
  
      ok.
  
  
negative.code: 	    Port
      end.
  
  toerl_server(Parent, ToErl, TempDir, SPid) ->
      Port = try_to_erl("\""++ToErl++"\" "++TempDir++"/ 2>/dev/null", 8),
      case Port of
  	P when is_port(P) ->
  