diff --git a/apps/desktopgui/build.xml b/apps/desktopgui/build.xml
index ed0af5a16a56ea17f97c78f701a1a8047a506d40..6487bfceac9944d70b19171866d7e7394956c0e4 100644
--- a/apps/desktopgui/build.xml
+++ b/apps/desktopgui/build.xml
@@ -10,6 +10,7 @@
 	<property name="javac.version" value="1.8" />
 	<property name="javac.release" value="8" />
 	<property name="require.gettext" value="true" />
+	<property name="manifest.classpath.name" value="Class-Path" />
 
     <condition property="no.bundle">
         <isfalse value="${require.gettext}" />
@@ -86,6 +87,7 @@
 		<jar basedir="${build}" excludes="messages-src/**" destfile="${dist}/${jar}">
 			<manifest>
 				<attribute name="Main-Class" value="net.i2p.desktopgui.Main"/>
+				<attribute name="${manifest.classpath.name}" value="i2p.jar router.jar" />
 				<attribute name="Implementation-Version" value="${full.version}" />
 				<attribute name="Built-By" value="${build.built-by}" />
 				<attribute name="Build-Date" value="${build.timestamp}" />
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/Main.java b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
index 70b96d7a43c25d31610d294e30361490d4b79b41..557563b31830e1a578f27f7169df229e652207b9 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/Main.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
@@ -5,6 +5,7 @@ package net.i2p.desktopgui;
  */
 
 import java.awt.Image;
+import java.awt.SystemTray;
 import java.awt.Toolkit;
 import java.io.File;
 import java.lang.reflect.Method;
@@ -95,6 +96,11 @@ public class Main implements RouterApp {
     }
     
     public static void main(String[] args) {
+        // early check so we can bail out when started via CLI
+        if (!SystemTray.isSupported()) {
+            System.err.println("SystemTray not supported");
+            return;
+        }
         Main main = new Main();
         main.beginStartup(args);
     }