diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java
index b54b05c18f21d1f07dd55e5f6dba0ba021d486cc..985065110e4b65782e1c2184442d16145b01a0c5 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java
@@ -248,6 +248,8 @@ class PacketQueue implements SendMessageStatusListener, Closeable {
             case MessageStatusMessage.STATUS_SEND_GUARANTEED_FAILURE:
             // no tunnels may fix itself, allow retx
             case MessageStatusMessage.STATUS_SEND_FAILURE_NO_TUNNELS:
+            // probably took a long time to open the tunnel, allow retx
+            case MessageStatusMessage.STATUS_SEND_FAILURE_EXPIRED:
                 if (_log.shouldLog(Log.WARN))
                     _log.warn("Rcvd soft failure status " + status + " for msg " + msgId + " on " + con);
                 _messageStatusMap.remove(id);
@@ -274,7 +276,6 @@ class PacketQueue implements SendMessageStatusListener, Closeable {
             case MessageStatusMessage.STATUS_SEND_FAILURE_BAD_MESSAGE:
             case MessageStatusMessage.STATUS_SEND_FAILURE_BAD_OPTIONS:
             case MessageStatusMessage.STATUS_SEND_FAILURE_OVERFLOW:
-            case MessageStatusMessage.STATUS_SEND_FAILURE_EXPIRED:
             case MessageStatusMessage.STATUS_SEND_FAILURE_LOCAL_LEASESET:
             case MessageStatusMessage.STATUS_SEND_FAILURE_UNSUPPORTED_ENCRYPTION:
             case MessageStatusMessage.STATUS_SEND_FAILURE_DESTINATION: