diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 23e550f8a3c425a85ef6e9f7ad84be4505ca7437..d9aae40f021d62244b51e5858facc2e0b5ecc953 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -34,7 +34,6 @@ import net.i2p.data.Base32;
 import net.i2p.data.Base64;
 import net.i2p.data.ByteArray;
 import net.i2p.data.DataHelper;
-import net.i2p.util.InternalSocket;
 
 /**
  * EepGet [-p 127.0.0.1:4444]
@@ -174,6 +173,7 @@ public class EepGet {
         _bytesRemaining = -1;
         _fetchHeaderTimeout = CONNECT_TIMEOUT;
         _listeners = new ArrayList<StatusListener>(1);
+        _allowCaching = allowCaching;
         _etag = etag;
         _lastModified = lastModified;
         _etagOrig = etag;
diff --git a/core/java/src/net/i2p/util/SSLEepGet.java b/core/java/src/net/i2p/util/SSLEepGet.java
index c771f9096a4033fe0bc14ac572d64f9eb90572d0..6aef33b5674667bceb9dc574963804776b4374a9 100644
--- a/core/java/src/net/i2p/util/SSLEepGet.java
+++ b/core/java/src/net/i2p/util/SSLEepGet.java
@@ -99,6 +99,7 @@ public class SSLEepGet extends EepGet {
     /** may be null if init failed */
     private SavingTrustManager _stm;
     private final ProxyType _proxyType;
+    private int _forceDoH;
 
     private static final String CERT_DIR = "certificates/ssl";
     private static final String PROP_USE_DNS_OVER_HTTPS = "eepget.useDNSOverHTTPS";
@@ -547,6 +548,15 @@ public class SSLEepGet extends EepGet {
         return new SSLState(_sslContext);
     }
 
+    /**
+     *  Override the config setting, force DNSoverHTTPS on or off
+     *  Call before the fetch.
+     *  @since 0.9.49
+     */
+    public void forceDNSOverHTTPS(boolean on) {
+        _forceDoH = on ? 2 : 1;
+    }
+
     ///// end of all the SSL stuff
     ///// start of overrides
 
@@ -732,10 +742,16 @@ public class SSLEepGet extends EepGet {
                     port = 443;
 
                 String originalHost = host;
-                boolean useDNSOverHTTPS = _context.getProperty(PROP_USE_DNS_OVER_HTTPS, DEFAULT_USE_DNS_OVER_HTTPS);
+                boolean useDNSOverHTTPS;
+                if (_forceDoH == 2)
+                    useDNSOverHTTPS = true;
+                else if (_forceDoH == 1)
+                    useDNSOverHTTPS = false;
+                else
+                    useDNSOverHTTPS = _context.getProperty(PROP_USE_DNS_OVER_HTTPS, DEFAULT_USE_DNS_OVER_HTTPS);
                 // This duplicates checks in DNSOverHTTPS.lookup() but do it here too so
                 // we don't even construct it if we don't need it
-                if (useDNSOverHTTPS && !host.equals("dns.google.com") && !Addresses.isIPAddress(host)) {
+                if (useDNSOverHTTPS && !host.equals("dns.google") && !Addresses.isIPAddress(host)) {
                     DNSOverHTTPS doh = new DNSOverHTTPS(_context, getSSLState());
                     String ip = doh.lookup(host);
                     if (ip != null)