diff --git a/source/net/yacy/crawler/retrieval/HTTPLoader.java b/source/net/yacy/crawler/retrieval/HTTPLoader.java
index 8b366c809..1f362bcbb 100644
--- a/source/net/yacy/crawler/retrieval/HTTPLoader.java
+++ b/source/net/yacy/crawler/retrieval/HTTPLoader.java
@@ -41,7 +41,6 @@ import net.yacy.repository.Blacklist.BlacklistType;
 import net.yacy.search.Switchboard;
 import net.yacy.search.SwitchboardConstants;
 import net.yacy.server.http.AlternativeDomainNames;
-import net.yacy.server.http.HTTPDemon;
 
 public final class HTTPLoader {
 
@@ -99,7 +98,7 @@ public final class HTTPLoader {
         }
 
         // resolve yacy and yacyh domains
-        final AlternativeDomainNames yacyResolver = HTTPDemon.getAlternativeResolver();
+        final AlternativeDomainNames yacyResolver = this.sb.peers;
         if(yacyResolver != null) {
         	final String yAddress = yacyResolver.resolve(host);
         	if(yAddress != null) {
diff --git a/source/net/yacy/http/AbstractRemoteHandler.java b/source/net/yacy/http/AbstractRemoteHandler.java
index 5f9ad9277..337790cc3 100644
--- a/source/net/yacy/http/AbstractRemoteHandler.java
+++ b/source/net/yacy/http/AbstractRemoteHandler.java
@@ -73,6 +73,7 @@ abstract public class AbstractRemoteHandler extends AbstractHandler implements H
         if (sb.peers != null) {
             localVirtualHostNames.add(sb.peers.mySeed().getIP());
             localVirtualHostNames.add(sb.peers.myAlternativeAddress()); // add the "peername.yacy" address
+            localVirtualHostNames.add(sb.peers.mySeed().getHexHash() + ".yacyh"); // bugfix by P. Dahl
         }
     }
 	
@@ -89,7 +90,6 @@ abstract public class AbstractRemoteHandler extends AbstractHandler implements H
         int hostSplitPos = host.indexOf(':');
         String hostOnly = hostSplitPos < 0 ? host : host.substring(0, hostSplitPos);
         
-        if (hostOnly.equals(sb.peers.mySeed().getHexHash() + ".yacyh")) return; // bugfix by P. Dahl
         if (localVirtualHostNames.contains(hostOnly)) return; // no proxy request (quick check), continue processing by handlers        
         if (Domains.isLocal(hostOnly, null)) return; // no proxy, continue processing by handlers
         if (hostOnly.startsWith(sb.peers.myIP())) { // remote access to my external IP, continue processing by handlers
diff --git a/source/net/yacy/peers/SeedDB.java b/source/net/yacy/peers/SeedDB.java
index a2cf0c785..9cb166470 100644
--- a/source/net/yacy/peers/SeedDB.java
+++ b/source/net/yacy/peers/SeedDB.java
@@ -60,7 +60,6 @@ import net.yacy.search.Switchboard;
 import net.yacy.server.serverCore;
 import net.yacy.server.serverSwitch;
 import net.yacy.server.http.AlternativeDomainNames;
-import net.yacy.server.http.HTTPDemon;
 
 public final class SeedDB implements AlternativeDomainNames {
 
@@ -123,9 +122,6 @@ public final class SeedDB implements AlternativeDomainNames {
 
         this.lastSeedUpload_seedDBSize = sizeConnected();
 
-        // tell the httpdProxy how to find this table as address resolver
-        HTTPDemon.setAlternativeResolver(this);
-
         // create or init news database
         this.newsPool = new NewsPool(networkRoot, useTailCache, exceed134217727);
 
@@ -174,9 +170,6 @@ public final class SeedDB implements AlternativeDomainNames {
 
         this.lastSeedUpload_seedDBSize = sizeConnected();
 
-        // tell the httpdProxy how to find this table as address resolver
-        HTTPDemon.setAlternativeResolver(this);
-
         // create or init news database
         this.newsPool = new NewsPool(newNetworkRoot, useTailCache, exceed134217727);
 
diff --git a/source/net/yacy/server/http/HTTPDProxyHandler.java b/source/net/yacy/server/http/HTTPDProxyHandler.java
index 4769706cd..f48bc4eb6 100644
--- a/source/net/yacy/server/http/HTTPDProxyHandler.java
+++ b/source/net/yacy/server/http/HTTPDProxyHandler.java
@@ -730,7 +730,7 @@ public final class HTTPDProxyHandler {
      * @return
      */
     private static String resolveYacyDomains(final String host) {
-        return (HTTPDemon.getAlternativeResolver() == null) ? null : HTTPDemon.getAlternativeResolver().resolve(host);
+        return (sb.peers == null) ? null : sb.peers.resolve(host);
     }
 
     /**
@@ -911,7 +911,7 @@ public final class HTTPDProxyHandler {
 
     private static void setViaHeader(final HeaderFramework header, final String httpVer) {
         if (!sb.getConfigBool("proxy.sendViaHeader", true)) return;
-        final String myAddress = (HTTPDemon.getAlternativeResolver() == null) ? null : HTTPDemon.getAlternativeResolver().myAlternativeAddress();
+        final String myAddress = (sb.peers == null) ? null : sb.peers.myAlternativeAddress();
         if (myAddress != null) {
 
             // getting header set by other proxies in the chain
diff --git a/source/net/yacy/server/http/HTTPDemon.java b/source/net/yacy/server/http/HTTPDemon.java
index aec25f4a0..cd9116a6d 100644
--- a/source/net/yacy/server/http/HTTPDemon.java
+++ b/source/net/yacy/server/http/HTTPDemon.java
@@ -82,10 +82,8 @@ public final class HTTPDemon {
     private static final int SIZE_FILE_THRESHOLD = 20 * 1024 * 1024;
     private static final FileItemFactory DISK_FILE_ITEM_FACTORY = new DiskFileItemFactory(SIZE_FILE_THRESHOLD, TMPDIR);
 
-    private static AlternativeDomainNames alternativeResolver = null;
-
     // static objects
-    private static volatile Switchboard switchboard;
+    private static volatile Switchboard switchboard = Switchboard.getSwitchboard();
 
     public static boolean keepAliveSupport = false;
 
@@ -333,7 +331,7 @@ public final class HTTPDemon {
                 tp.put("port", switchboard.getConfig("port", "8090"));
             }
 
-            tp.put("peerName", (getAlternativeResolver() == null) ? "" : getAlternativeResolver().myName());
+            tp.put("peerName", (switchboard.peers == null) ? "" : switchboard.peers.myName());
             tp.put("errorMessageType", Integer.toString(errorcase));
             tp.put("httpStatus",       Integer.toString(httpStatusCode) + " " + httpStatusText);
             tp.put("requestMethod",    (String) conProp.get(HeaderFramework.CONNECTION_PROP_METHOD));
@@ -509,19 +507,4 @@ public final class HTTPDemon {
             throw new IOException(e.getMessage());
         }
     }
-
-    /**
-     * @param alternativeResolver the alternativeResolver to set
-     */
-    public static void setAlternativeResolver(final AlternativeDomainNames alternativeResolver) {
-        HTTPDemon.alternativeResolver = alternativeResolver;
-    }
-
-    /**
-     * @return the alternativeResolver
-     */
-    public static AlternativeDomainNames getAlternativeResolver() {
-        return alternativeResolver;
-    }
-
 }