diff --git a/apps/desktopgui/locale/messages_en.po b/apps/desktopgui/locale/messages_en.po
index 46cd8b26edbbc8144200a9891ef67a414ff1f64f..f5e81ed725d63024aecb8d211b231e1507167e1b 100644
--- a/apps/desktopgui/locale/messages_en.po
+++ b/apps/desktopgui/locale/messages_en.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P desktopgui\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-02-13 11:54+0000\n"
+"POT-Creation-Date: 2011-02-16 17:10+0000\n"
 "PO-Revision-Date: 2010-06-15 14:09+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>\n"
@@ -29,14 +29,23 @@ msgstr ""
 msgid "Starting"
 msgstr ""
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:25
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
 msgid "Launch I2P Browser"
 msgstr ""
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:49
-msgid "Restart I2P"
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
 msgstr ""
 
 #: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Restart I2P"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
 msgid "Stop I2P"
 msgstr ""
+
+#. Translate interface
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:26
+msgid "Should tray icon be enabled?"
+msgstr ""
diff --git a/apps/desktopgui/locale/messages_nl.po b/apps/desktopgui/locale/messages_nl.po
index ad390cb622ddb09c6dc973c7d160ff58ba1778dd..2e2fbb298866246292f8a534dbc849fe4bb1dab0 100644
--- a/apps/desktopgui/locale/messages_nl.po
+++ b/apps/desktopgui/locale/messages_nl.po
@@ -1,15 +1,16 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"POT-Creation-Date: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-16 17:10+0000\n"
 "PO-Revision-Date: \n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-# NL
 
+# NL
 #: src/net/i2p/desktopgui/ExternalTrayManager.java:23
 msgid "Start I2P"
 msgstr "I2P starten"
@@ -22,20 +23,29 @@ msgstr "I2P is aan het starten!"
 msgid "Starting"
 msgstr "Bezig met starten"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:25
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
 msgid "Launch I2P Browser"
 msgstr "Start I2P Browser"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:49
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
 msgid "Restart I2P"
 msgstr "I2P herstarten"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
 msgid "Stop I2P"
 msgstr "I2P stoppen"
 
+#. Translate interface
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:26
+msgid "Should tray icon be enabled?"
+msgstr ""
+
 #~ msgid "Browser not found"
 #~ msgstr "Browser niet gevonden"
+
 #~ msgid "The default browser for your system was not found."
 #~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
-
diff --git a/apps/desktopgui/locale/messages_ru.po b/apps/desktopgui/locale/messages_ru.po
index a5d936a669c7c5dc094eb634c8536c98a02be4d6..1ac45bc1ba5de7eb04ebd55b0e2ec022df7390c4 100644
--- a/apps/desktopgui/locale/messages_ru.po
+++ b/apps/desktopgui/locale/messages_ru.po
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P desktopgui\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-02-14 18:14+0000\n"
+"POT-Creation-Date: 2011-02-16 17:10+0000\n"
 "PO-Revision-Date: 2011-02-15 00:18+0500\n"
 "Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
 #: src/net/i2p/desktopgui/ExternalTrayManager.java:23
@@ -31,15 +31,23 @@ msgstr "I2P запускается!"
 msgid "Starting"
 msgstr "Запускается"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:25
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
 msgid "Launch I2P Browser"
 msgstr "Запустить I2P браузер"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:49
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
 msgid "Restart I2P"
 msgstr "Перезапустить I2P"
 
-#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
 msgid "Stop I2P"
 msgstr "Остановить I2P"
 
+#. Translate interface
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:26
+msgid "Should tray icon be enabled?"
+msgstr ""
diff --git a/apps/desktopgui/locale/messages_zh.po b/apps/desktopgui/locale/messages_zh.po
index 1aed8c46d3c0bb815d84693937151f79ba46d844..5dca9e881eb73c3a6696ee4e3d1840be649379b1 100644
--- a/apps/desktopgui/locale/messages_zh.po
+++ b/apps/desktopgui/locale/messages_zh.po
@@ -1,41 +1,50 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-02-12 11:40+0000\n"
-"PO-Revision-Date: \n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
-msgid "Start I2P"
-msgstr "启动 I2P"
-
-#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
-msgid "I2P is starting!"
-msgstr "正在启动 I2P !"
-
-#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
-msgid "Starting"
-msgstr "正在启动"
-
-#: src/net/i2p/desktopgui/InternalTrayManager.java:25
-msgid "Launch I2P Browser"
-msgstr "正在启动I2P浏览器"
-
-#: src/net/i2p/desktopgui/InternalTrayManager.java:49
-msgid "Restart I2P"
-msgstr "重启 I2P"
-
-#: src/net/i2p/desktopgui/InternalTrayManager.java:67
-msgid "Stop I2P"
-msgstr "停止 I2P"
-
-#~ msgid "Browser not found"
-#~ msgstr "Browser niet gevonden"
-
-#~ msgid "The default browser for your system was not found."
-#~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-16 17:10+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
+msgid "Start I2P"
+msgstr "启动 I2P"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr "正在启动 I2P !"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr "正在启动"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
+msgid "Launch I2P Browser"
+msgstr "正在启动I2P浏览器"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Restart I2P"
+msgstr "重启 I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
+msgid "Stop I2P"
+msgstr "停止 I2P"
+
+#. Translate interface
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:26
+msgid "Should tray icon be enabled?"
+msgstr ""
+
+#~ msgid "Browser not found"
+#~ msgstr "Browser niet gevonden"
+
+#~ msgid "The default browser for your system was not found."
+#~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
index 46cb3deefb9de59257de7d333ab8c3feafae8706..e1247dde6c53a44a8731ffd3446f38763ac077f8 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
@@ -6,6 +6,7 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 import javax.swing.SwingWorker;
+import net.i2p.desktopgui.gui.DesktopguiConfigurationFrame;
 
 import net.i2p.desktopgui.router.RouterManager;
 import net.i2p.desktopgui.util.BrowseException;
@@ -46,6 +47,23 @@ public class InternalTrayManager extends TrayManager {
                 }.execute();
             }
         });
+        MenuItem desktopguiConfigurationLauncher = new MenuItem(_("Configure desktopgui"));
+        desktopguiConfigurationLauncher.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent arg0) {
+                new SwingWorker<Object, Object>() {
+
+                    @Override
+                    protected Object doInBackground() throws Exception {
+                        new DesktopguiConfigurationFrame().setVisible(true);
+                        return null;
+                    }
+
+                }.execute();
+            }
+
+        });
         MenuItem restartItem = new MenuItem(_("Restart I2P"));
         restartItem.addActionListener(new ActionListener() {
 
@@ -85,6 +103,8 @@ public class InternalTrayManager extends TrayManager {
         
         popup.add(browserLauncher);
         popup.addSeparator();
+        popup.add(desktopguiConfigurationLauncher);
+        popup.addSeparator();
         popup.add(restartItem);
         popup.add(stopItem);
         
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java
new file mode 100644
index 0000000000000000000000000000000000000000..83711e95d6457ca43b28fa63e6dd2887091e8877
--- /dev/null
+++ b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java
@@ -0,0 +1,128 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/*
+ * ConfigurationFrame.java
+ *
+ * Created on Feb 16, 2011, 8:03:14 AM
+ */
+
+package net.i2p.desktopgui.gui;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import net.i2p.desktopgui.i18n.DesktopguiTranslator;
+import net.i2p.desktopgui.router.RouterManager;
+
+/**
+ *
+ * @author mathias
+ */
+public class DesktopguiConfigurationFrame extends javax.swing.JFrame {
+
+    /** Creates new form ConfigurationFrame */
+    public DesktopguiConfigurationFrame() {
+        initComponents();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        desktopguiEnabled = new javax.swing.JCheckBox();
+        okButton = new javax.swing.JButton();
+        cancelButton = new javax.swing.JButton();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+        setTitle(_("Tray icon configuration"));
+
+        desktopguiEnabled.setSelected(true);
+        desktopguiEnabled.setText(_("Should tray icon be enabled?"));
+        desktopguiEnabled.setActionCommand("shouldDesktopguiBeEnabled");
+
+        okButton.setText("OK");
+        okButton.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                okButtonMouseClicked(evt);
+            }
+        });
+
+        cancelButton.setText("Cancel");
+        cancelButton.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                cancelButtonMouseClicked(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(desktopguiEnabled)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(okButton)
+                        .addGap(18, 18, 18)
+                        .addComponent(cancelButton)))
+                .addContainerGap(237, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(desktopguiEnabled)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(okButton)
+                    .addComponent(cancelButton))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void okButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_okButtonMouseClicked
+        String property = "desktopgui.enabled";
+        String value;
+        if(!desktopguiEnabled.isSelected()) {
+            value = "false";
+            System.out.println("Disabling desktopgui");
+        }
+        else {
+            value = "true";
+            System.out.println("Enabling desktopgui");
+        }
+        try {
+            RouterManager.getRouterContext().setProperty(property, value);
+        } catch (Exception ex) {
+            Logger.getLogger(DesktopguiConfigurationFrame.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        System.out.println("Applying desktopgui configuration!");
+        this.dispose();
+    }//GEN-LAST:event_okButtonMouseClicked
+
+    private void cancelButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cancelButtonMouseClicked
+        System.out.println("Cancelling configuration!");
+        this.dispose();
+    }//GEN-LAST:event_cancelButtonMouseClicked
+
+    protected static String _(String s) {
+        return DesktopguiTranslator._(s);
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JCheckBox desktopguiEnabled;
+    private javax.swing.JButton okButton;
+    // End of variables declaration//GEN-END:variables
+
+}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
index fe53abdb11f98f8c2bc13a81b58bf04ae32ef343..c50eb96cba586fe8523129362db2adad922310f2 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -329,7 +329,9 @@ public class RouterConsoleRunner {
             //TODO: move away from routerconsole into a separate application.
             //ApplicationManager?
             VersionComparator v = new VersionComparator();
-            if(v.compare(System.getProperty("java.runtime.version"), "1.6") >= 0) {
+            String desktopguiEnabled = I2PAppContext.getGlobalContext().getProperty("desktopgui.enabled");
+            int recentJava = v.compare(System.getProperty("java.runtime.version"), "1.6");
+            if(recentJava >= 0 && (desktopguiEnabled == null || desktopguiEnabled.equalsIgnoreCase("true"))) {
                 String[] args = new String[0];
                 net.i2p.desktopgui.Main.beginStartup(args);    
             }