diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index b3ce2fa83237dce542606c94fc40746a6bbb15ac..1b0e043e393067561bcb012b475a84b556ab7de8 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -59,7 +59,13 @@ public class GraphHelper extends FormHandler {
         try { _width = Math.min(Integer.parseInt(str), MAX_X); } catch (NumberFormatException nfe) {}
     }
     public void setRefreshDelay(String str) {
-        try { _refreshDelaySeconds = Math.max(Integer.parseInt(str), MIN_REFRESH); } catch (NumberFormatException nfe) {}
+        try {
+            int rds = Integer.parseInt(str);
+            if (rds > 0)
+                _refreshDelaySeconds = Math.max(rds, MIN_REFRESH);
+            else
+                _refreshDelaySeconds = -1;
+        } catch (NumberFormatException nfe) {}
     }
     
     public String getImages() { 
@@ -83,7 +89,7 @@ public class GraphHelper extends FormHandler {
                            + "&periodCount=" + (3 * _periodCount )
                            + "&width=" + (3 * _width)
                            + "&height=" + (3 * _height)
-                           + "\" / target=\"_blank\">");
+                           + "\" target=\"_blank\">");
                 String title = _("Combined bandwidth graph");
                 _out.write("<img class=\"statimage\" width=\""
                            + (_width + 83) + "\" height=\"" + (_height + 92)
@@ -129,6 +135,8 @@ public class GraphHelper extends FormHandler {
         return ""; 
     }
 
+    private static final int[] times = { 60, 2*60, 5*60, 10*60, 30*60, 60*60, -1 };
+
     public String getForm() { 
         String prev = System.getProperty("net.i2p.router.web.GraphHelper.nonce");
         if (prev != null) System.setProperty("net.i2p.router.web.GraphHelper.noncePrev", prev);
@@ -145,8 +153,22 @@ public class GraphHelper extends FormHandler {
             _out.write(_("Image sizes") + ": " + _("width") + ": <input size=\"4\" type=\"text\" name=\"width\" value=\"" + _width 
                        + "\"> " + _("pixels") + ", " + _("height") + ": <input size=\"4\" type=\"text\" name=\"height\" value=\"" + _height  
                        + "\"> " + _("pixels") + "<br>\n");
-            _out.write(_("Refresh delay") + ": <select name=\"refreshDelay\"><option value=\"60\">1 " + _("minute") + "</option><option value=\"120\">2 " + _("minutes") + "</option><option value=\"300\">5 " + _("minutes") + "</option><option value=\"600\">10 " + _("minutes") + "</option><option value=\"1800\">30 " + _("minutes") + "</option><option value=\"3600\">1 " + _("hour") + "</option><option value=\"-1\">" + _("Never") + "</option></select><br>\n");
-            _out.write("<hr><div class=\"formaction\"><input type=\"submit\" value=\"" + _("Redraw") + "\"></div></form>");
+            _out.write(_("Refresh delay") + ": <select name=\"refreshDelay\">");
+            for (int i = 0; i < times.length; i++) {
+                _out.write("<option value=\"");
+                _out.write(Integer.toString(times[i]));
+                _out.write("\"");
+                if (times[i] == _refreshDelaySeconds)
+                    _out.write(" selected=\"true\"");
+                _out.write(">");
+                if (times[i] > 0)
+                    _out.write(DataHelper.formatDuration2(times[i] * 1000));
+                else
+                    _out.write(_("Never"));
+                _out.write("</option>\n");
+            }
+            _out.write("</select><br>\n" +
+                       "<hr><div class=\"formaction\"><input type=\"submit\" value=\"" + _("Redraw") + "\"></div></form>");
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }