diff --git a/core/java/src/net/i2p/util/ReusableGZIPInputStream.java b/core/java/src/net/i2p/util/ReusableGZIPInputStream.java
index 4a0b392bac6f49010362b51b71d108101c3f766a..a7f50542e6aa718d4313b484c65e68fe4689f005 100644
--- a/core/java/src/net/i2p/util/ReusableGZIPInputStream.java
+++ b/core/java/src/net/i2p/util/ReusableGZIPInputStream.java
@@ -43,6 +43,15 @@ public class ReusableGZIPInputStream extends ResettableGZIPInputStream {
     
     private ReusableGZIPInputStream() { super(); }
     
+    /**
+     *  Clear the cache.
+     *  @since 0.9.21
+     */
+    public static void clearCache() {
+        if (_available != null)
+            _available.clear();
+    }
+
 /*******
     public static void main(String args[]) {
         for (int i = 0; i < 2; i++)
diff --git a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java
index 3c239ffc7d5de1dc968ed411c95293c9f1f9f86a..aa670a9ef6f37fb6bbc59f9b0aa6b07e884bbe70 100644
--- a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java
+++ b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java
@@ -75,6 +75,15 @@ public class ReusableGZIPOutputStream extends ResettableGZIPOutputStream {
     /** pull the contents of the stream written */
     public byte[] getData() { return _buffer.toByteArray(); }
     
+    /**
+     *  Clear the cache.
+     *  @since 0.9.21
+     */
+    public static void clearCache() {
+        if (_available != null)
+            _available.clear();
+    }
+
 /******
     public static void main(String args[]) {
         try {
diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java
index 1fe00dbd453d5917eef7fb612d38d11f729ebfd6..68621597e741205c20279a281873f89e677d088f 100644
--- a/router/java/src/net/i2p/router/Router.java
+++ b/router/java/src/net/i2p/router/Router.java
@@ -52,6 +52,8 @@ import net.i2p.util.I2PThread;
 import net.i2p.util.Log;
 import net.i2p.util.NativeBigInteger;
 import net.i2p.util.OrderedProperties;
+import net.i2p.util.ReusableGZIPInputStream;
+import net.i2p.util.ReusableGZIPOutputStream;
 import net.i2p.util.SecureFileOutputStream;
 import net.i2p.util.SimpleByteCache;
 import net.i2p.util.SystemVersion;
@@ -420,6 +422,8 @@ public class Router implements RouterClock.ClockShiftListener {
         SigningPublicKey.clearCache();
         SigUtil.clearCaches();
         I2PSessionImpl.clearCache();
+        ReusableGZIPInputStream.clearCache();
+        ReusableGZIPOutputStream.clearCache();
     }
 
     /**