anchor.diff:  
   
   start_stats(SC) ->
  -    {ok, Pid} = yaws_stats:start_link(),
  -    SC#sconf{stats = Pid}.
  -
  +    case ?sc_has_statistics(SC) of
  +        true ->
  +            {ok, Pid} = yaws_stats:start_link(),
  +            SC#sconf{stats = Pid};
  +        false ->
  +            SC
  +    end.
  +
  +stop_stats(SC) ->
  +    case SC#sconf.stats of
  +        undefined ->
  +            SC;
  +        Pid when is_pid(Pid) ->
  +            %% Unlink the stats process before stopping it to be sure to not
  +            %% receive the {'EXIT..} message in gserv_loop.
  +            unlink(Pid),
  +            yaws_stats:stop(Pid),
  +            SC#sconf{stats = undefined}
  +    end.
   
   gserv_loop(GS, Ready, Rnum, Last) ->
       receive
  
positive.code:     ?TC([{record, GC, gconf}]),
      put(gc, GC),
      put(top, Top),
      Group1 = map(fun(SC) -> setup_ets(SC)
                   end, Group0),
      Group = map(fun(SC) ->
                          case ?sc_has_statistics(SC) of
                              true ->
                                  start_stats(SC);
                              false ->
                                  SC
                          end
                  end, Group1),
      SC = hd(Group),
      case do_listen(GC, SC) of
          {SSLBOOL, CertInfo, {ok, Listen}} ->
  
negative.code:                     error_logger:error_msg("gserv: No found SC ~n",[]),
                      erlang:error(nosc);
                  true ->
                      stop_ready(Ready, Last),
                      GS2 = GS#gs{group =  lists:delete(OldSc,GS#gs.group)},
                      Ready2 = [],
                      stop_stats(OldSc),
                      ets:delete(OldSc#sconf.ets),
                      gen_server:reply(From, ok),
                      error_logger:info_msg("Deleting sconf for server ~s~n",
  