diff --git a/router/java/src/net/i2p/router/transport/TransportImpl.java b/router/java/src/net/i2p/router/transport/TransportImpl.java
index 6dd93b4c59244fa39ab44e403978c174bd980f33..bcb3516cc951dc7828df9d93cbac515a793e8d01 100644
--- a/router/java/src/net/i2p/router/transport/TransportImpl.java
+++ b/router/java/src/net/i2p/router/transport/TransportImpl.java
@@ -143,8 +143,24 @@ public abstract class TransportImpl implements Transport {
         RouterInfo ri = _context.router().getRouterInfo();
         if (ri != null) {
             char bw = ri.getBandwidthTier().charAt(0);
-            if (bw > Router.CAPABILITY_BW12 && bw <= Router.CAPABILITY_BW256)
-                def *= (1 + bw - Router.CAPABILITY_BW12);
+            switch (bw) {
+                case Router.CAPABILITY_BW12:
+                case 'u':  // unknown
+                default:
+                    break;
+                case Router.CAPABILITY_BW32:
+                    def *= 2;
+                    break;
+                case Router.CAPABILITY_BW64:
+                    def *= 3;
+                    break;
+                case Router.CAPABILITY_BW128:
+                    def *= 4;
+                    break;
+                case Router.CAPABILITY_BW256:
+                    def *= 7;
+                    break;
+            }
         }
         if (_context.netDb().floodfillEnabled()) {
             // && !SystemVersion.isWindows()) {