diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 3fec768a5857cf153a9bc7d0606019ffcd56d54a..ace31ab720f5d62cbd68deb8de058d7c83353fa1 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -537,6 +537,15 @@ public class EepGet {
             if (_redirects > 5)
                 throw new IOException("Too many redirects: to " + _redirectLocation);
             if (_log.shouldLog(Log.INFO)) _log.info("Redirecting to " + _redirectLocation);
+
+            // reset some important variables, we don't want to save the values from the redirect
+            _bytesRemaining = -1;
+            _redirectLocation = null;
+            _etag = null;
+            _lastModified = null;
+            _contentType = null;
+            _encodingChunked = false;
+
             sendRequest(timeout);
             doFetch(timeout);
             return;
diff --git a/core/java/src/net/i2p/util/EepHead.java b/core/java/src/net/i2p/util/EepHead.java
index 938241616a86ac608940679af6e80e6fd1bcf419..c3a17bbea594b43607380a6cb7cb40a56ec8cd22 100644
--- a/core/java/src/net/i2p/util/EepHead.java
+++ b/core/java/src/net/i2p/util/EepHead.java
@@ -116,6 +116,7 @@ public class EepHead extends EepGet {
         else
             timeout.setInactivityTimeout(60*1000);
         
+        // Should we even follow redirects for HEAD?
         if (_redirectLocation != null) {
             //try {
                 URL oldURL = new URL(_actualURL);
@@ -143,6 +144,15 @@ public class EepHead extends EepGet {
             if (_redirects > 5)
                 throw new IOException("Too many redirects: to " + _redirectLocation);
             if (_log.shouldLog(Log.INFO)) _log.info("Redirecting to " + _redirectLocation);
+
+            // reset some important variables, we don't want to save the values from the redirect
+            _bytesRemaining = -1;
+            _redirectLocation = null;
+            _etag = null;
+            _lastModified = null;
+            _contentType = null;
+            _encodingChunked = false;
+
             sendRequest(timeout);
             doFetch(timeout);
             return;