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 7b0414d2e644ed03a2e7268d5d99f9ba555a186a..a00e94d3142f9489c228b0a5cb5f31f15460af7a 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -273,7 +273,7 @@ public class RouterConsoleRunner implements RouterApp {
     private void startTrayApp() {
         // if no permissions, don't even try
         // isLaunchedAsService() always returns true on Linux
-        if (SystemVersion.isLinuxService() ||
+        if (GraphicsEnvironment.isHeadless() || SystemVersion.isLinuxService() ||
             (SystemVersion.isWindows() && _context.hasWrapper() && WrapperManager.isLaunchedAsService())) {
             // required true for jrobin to work
             System.setProperty("java.awt.headless", "true");
@@ -285,8 +285,7 @@ public class RouterConsoleRunner implements RouterApp {
             boolean desktopguiEnabled = Boolean.parseBoolean(sdtg) ||
                                         (sdtg == null && SystemVersion.isWindows());
             if (desktopguiEnabled) {
-                //Check if we are in a headless environment, set properties accordingly
-          	System.setProperty("java.awt.headless", Boolean.toString(GraphicsEnvironment.isHeadless()));
+                System.setProperty("java.awt.headless", "false");
                 net.i2p.desktopgui.Main dtg = new net.i2p.desktopgui.Main(_context, _mgr, null);    
                 dtg.startup();
             } else {