diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java
index 949fa372d89598094857e727c8ec41469002dca9..05f476a0eea60bbcc1e0a8639a6ae787ab7c4fea 100644
--- a/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/update/UpdateHandler.java
@@ -4,6 +4,7 @@ import java.net.URI;
 import java.util.List;
 
 import net.i2p.router.RouterContext;
+import net.i2p.router.web.ConfigUpdateHandler;
 import net.i2p.update.*;
 import static net.i2p.update.UpdateType.*;
 import static net.i2p.update.UpdateMethod.*;
@@ -40,8 +41,10 @@ class UpdateHandler implements Updater {
      */
     public UpdateTask update(UpdateType type, UpdateMethod method, List<URI> updateSources,
                              String id, String newVersion, long maxTime) {
+        boolean shouldProxy = _context.getProperty(ConfigUpdateHandler.PROP_SHOULD_PROXY, ConfigUpdateHandler.DEFAULT_SHOULD_PROXY);
         if ((type != ROUTER_SIGNED && type != ROUTER_SIGNED_SU3) ||
-           ( method != HTTP && method != HTTP_CLEARNET && method != HTTPS_CLEARNET) ||
+            (shouldProxy && method != HTTP) ||
+            ((!shouldProxy) && method != HTTP_CLEARNET && method != HTTPS_CLEARNET) ||
             updateSources.isEmpty())
             return null;
         UpdateRunner update = new UpdateRunner(_context, _mgr, type, method, updateSources);