diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 73a5bf4e8c202ce08a9fa607cf2c824a05611ba3..2f3872f369b60eb244d93bc66e27c30156f11a67 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -678,10 +678,13 @@ public class EepGet {
             else
                 timeout.setInactivityTimeout(INACTIVITY_TIMEOUT);
         }
-        if (_fetchInactivityTimeout > 0)
-            _proxy.setSoTimeout(_fetchInactivityTimeout);
-        else
-            _proxy.setSoTimeout(INACTIVITY_TIMEOUT);
+        if (!_shouldProxy) {
+            // we only set the soTimeout before the headers if not proxied
+            if (_fetchInactivityTimeout > 0)
+                _proxy.setSoTimeout(_fetchInactivityTimeout);
+            else
+                _proxy.setSoTimeout(INACTIVITY_TIMEOUT);
+        }
         
         if (_redirectLocation != null) {
             // we also are here after a 407