diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh
index 870bbcb502c05f221946ed767f9553cdb560c58a..629fc95f05b294dc8abd9c3ee9f758055889ef65 100755
--- a/apps/routerconsole/java/bundle-messages.sh
+++ b/apps/routerconsole/java/bundle-messages.sh
@@ -27,13 +27,16 @@ do
 	# translate calls must be one of the forms:
 	# _("foo")
 	# cssHelper._("foo")
+	# cssHelper.title("foo")
 	# handler._("foo")
 	# formhandler._("foo")
 	# In a jsp, you must use a helper or handler that has the context set.
 	# To start a new translation, copy the header from an old translation to the new .po file,
 	# then ant distclean updater.
 	find src ../jsp/WEB-INF -name *.java > $TMPFILE
-	xgettext -f $TMPFILE -F -L java --keyword=_ --keyword=cssHelper._ --keyword=handler._ --keyword=formhandler._ -o ${i}t
+	xgettext -f $TMPFILE -F -L java \
+                 --keyword=_ --keyword=cssHelper._ --keyword=cssHelper.title --keyword=handler._ --keyword=formhandler._ \
+	         -o ${i}t
 	if [ $? -ne 0 ]
 	then
 		echo 'Warning - xgettext failed, not updating translations'
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
index d12259e95b0c957a0736158b927fdd14615f0482..715c800931a7c1148ff248e76149a30bbc111ed7 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
@@ -28,4 +28,15 @@ public class CSSHelper extends HelperBase {
         if (lang != null && lang.length() > 0)
             _context.router().setConfigSetting(Messages.PROP_LANG, lang);
     }
+
+    /** translate the title and display consistently */
+    public String title(String s) {
+         StringBuilder buf = new StringBuilder(128);
+         buf.append("<title>")
+            .append(_("I2P Router Console"))
+            .append(" - ")
+            .append(_(s))
+            .append("</title>");
+         return buf.toString();
+    }
 }
diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp
index 99842aa10bcae9db88fdf9cfb1d67b0ce65f2585..e7562de9f7106e1d9eec4cb853f6ec5cf6da6c85 100644
--- a/apps/routerconsole/jsp/configupdate.jsp
+++ b/apps/routerconsole/jsp/configupdate.jsp
@@ -2,8 +2,9 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head><title>I2P Router Console - config update</title>
+<html><head>
 <%@include file="css.jsp" %>
+<%=cssHelper.title("config update")%>
 </head><body>
 
 <%@include file="summary.jsp" %>
diff --git a/apps/routerconsole/locale/messages_de.po b/apps/routerconsole/locale/messages_de.po
index 75cbc0d5600c65f5e565b7159171887f87949e63..905828c4d097225a891fb0a58699c6c90033d429 100644
--- a/apps/routerconsole/locale/messages_de.po
+++ b/apps/routerconsole/locale/messages_de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-19 21:30+0000\n"
+"POT-Creation-Date: 2009-10-20 11:55+0000\n"
 "PO-Revision-Date: 2009-10-19 12:50+0000\n"
 "Last-Translator: foo <foo@bar>\n"
 "Language-Team: foo <foo@bar>\n"
@@ -17,19 +17,24 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: German\n"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:95
+msgid "config update"
+msgstr "config update in german test test test"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
 msgid "Update policy"
 msgstr "Update policy in german foobarbaz"
 
-#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
-msgid "Notify only"
-msgstr "Notify only in german"
-
+#: src/net/i2p/router/web/CSSHelper.java:36
 #: src/net/i2p/router/web/SummaryBarRenderer.java:26
 #: src/net/i2p/router/web/SummaryBarRenderer.java:28
 msgid "I2P Router Console"
 msgstr ""
 
+#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
+msgid "Notify only"
+msgstr "Notify only in german"
+
 #: src/net/i2p/router/web/SummaryBarRenderer.java:42
 msgid "I2P Services"
 msgstr ""
diff --git a/apps/routerconsole/locale/messages_zh.po b/apps/routerconsole/locale/messages_zh.po
index 805d2b8cb565e7c940c3727395fd34284c96b245..8456438ca91dd9b24cbc25242d045c425a1179b0 100644
--- a/apps/routerconsole/locale/messages_zh.po
+++ b/apps/routerconsole/locale/messages_zh.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-19 21:30+0000\n"
+"POT-Creation-Date: 2009-10-20 11:55+0000\n"
 "PO-Revision-Date: 2009-10-19 12:59+0000\n"
 "Last-Translator: foo <foo@bar>\n"
 "Language-Team: foo <foo@par>\n"
@@ -17,19 +17,24 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Chinese\n"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:332
-msgid "Update policy"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:95
+msgid "config update"
 msgstr ""
 
-#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
-msgid "Notify only"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
+msgid "Update policy"
 msgstr ""
 
+#: src/net/i2p/router/web/CSSHelper.java:36
 #: src/net/i2p/router/web/SummaryBarRenderer.java:26
 #: src/net/i2p/router/web/SummaryBarRenderer.java:28
 msgid "I2P Router Console"
 msgstr ""
 
+#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
+msgid "Notify only"
+msgstr ""
+
 #: src/net/i2p/router/web/SummaryBarRenderer.java:42
 msgid "I2P Services"
 msgstr ""