Index: src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 10859)
+++ src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(working copy)
@@ -192,6 +192,12 @@
         updateActionsRelationLists();
     }
 
+    @Override
+    public void destroy() {
+        model.clear();
+        super.destroy();
+    }
+
     public void enableRecentRelations() {
         recentRelationsAction.enableArrow();
     }
@@ -393,6 +399,13 @@
             this.selectionModel = selectionModel;
         }
 
+        public void clear() {
+            relations.clear();
+            if (filteredRelations != null)
+                filteredRelations.clear();
+            filter = null;
+        }
+
         public void sort() {
             relations.sort(DefaultNameFormatter.getInstance().getRelationComparator());
         }
Index: src/org/openstreetmap/josm/gui/layer/LayerManager.java
===================================================================
--- src/org/openstreetmap/josm/gui/layer/LayerManager.java	(revision 10859)
+++ src/org/openstreetmap/josm/gui/layer/LayerManager.java	(working copy)
@@ -223,6 +223,9 @@
 
     protected Collection<Layer> realRemoveSingleLayer(Layer layerToRemove) {
         Collection<Layer> newToRemove = fireLayerRemoving(layerToRemove);
+        if (layerToRemove instanceof OsmDataLayer) {
+            ((OsmDataLayer) layerToRemove).data.clear();
+        }
         layers.remove(layerToRemove);
         return newToRemove;
     }
