Index: src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 155)
+++ src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 158)
@@ -6,4 +6,5 @@
 import java.awt.Component;
 import java.awt.GridLayout;
+import java.awt.Point;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -49,5 +50,6 @@
 	 */
 	static JList instance;
-
+	private JScrollPane listScrollPane;
+	
 	public final static class DeleteLayerAction extends AbstractAction {
 
@@ -120,5 +122,6 @@
 		super(tr("Layers"), "layerlist", tr("Open a list of all loaded layers."), KeyEvent.VK_L, 100);
 		instance = new JList(model);
-		add(new JScrollPane(instance), BorderLayout.CENTER);
+		listScrollPane = new JScrollPane(instance);
+		add(listScrollPane, BorderLayout.CENTER);
 		instance.setBackground(UIManager.getColor("Button.background"));
 		instance.setCellRenderer(new DefaultListCellRenderer(){
@@ -160,5 +163,6 @@
 				Layer layer = (Layer)instance.getModel().getElementAt(index);
 				LayerListPopup menu = new LayerListPopup(instance, layer);
-				menu.show(LayerListDialog.this, e.getX(), e.getY());
+				Point p = listScrollPane.getMousePosition();
+				menu.show(listScrollPane, p.x, p.y-3);
 			}
 			@Override public void mousePressed(MouseEvent e) {
