Index: trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 9432)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 9437)
@@ -9,4 +9,5 @@
 import java.awt.Graphics;
 import java.awt.Graphics2D;
+import java.awt.GraphicsEnvironment;
 import java.awt.GridBagLayout;
 import java.awt.Image;
@@ -668,6 +669,11 @@
 
     protected int estimateTileCacheSize() {
-        int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
-        int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
+        // Default screen size in headless mode, for unit tests
+        int height = 800;
+        int width = 600;
+        if (!GraphicsEnvironment.isHeadless()) {
+            height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
+            width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
+        }
         int tileSize = 256; // default tile size
         if (tileSource != null) {
