Index: /trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 14606)
+++ /trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 14607)
@@ -809,4 +809,5 @@
         nonChangedLayersBuffer = null;
         offscreenBuffer = null;
+        setTransferHandler(null);
         GuiHelper.destroyComponents(this, false);
     }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 14606)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 14607)
@@ -390,4 +390,5 @@
         MultikeyActionsHandler.getInstance().removeAction(showHideLayerAction);
         JumpToMarkerActions.unregisterActions();
+        layerList.setTransferHandler(null);
         super.destroy();
         instance = null;
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 14606)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 14607)
@@ -137,4 +137,9 @@
     }
 
+    @Override
+    public void destroy() {
+        lstPrimitives.setTransferHandler(null);
+        super.destroy();
+    }
     /**
      * Constructs a new {@code SelectionListDialog}.
