Index: /applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementDialog.java
===================================================================
--- /applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementDialog.java	(revision 29343)
+++ /applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementDialog.java	(revision 29344)
@@ -24,4 +24,5 @@
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
 import org.openstreetmap.josm.gui.help.HelpUtil;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -159,7 +160,17 @@
             }
         }
-        selectLengthLabel.setText(NavigatableComponent.getDistText(length));
-        segAngleLabel.setText(new DecimalFormat("#0.0").format(segAngle) + " \u00b0");
-        selectAreaLabel.setText(NavigatableComponent.getAreaText(area));
+        
+        final String lengthLabel = NavigatableComponent.getDistText(length);
+        final String angleLabel = new DecimalFormat("#0.0").format(segAngle) + " \u00b0";
+        final String areaLabel = NavigatableComponent.getAreaText(area);
+        
+        GuiHelper.runInEDT(new Runnable() {
+            @Override
+            public void run() {
+                selectLengthLabel.setText(lengthLabel);
+                segAngleLabel.setText(angleLabel);
+                selectAreaLabel.setText(areaLabel);
+            }
+        });
 	}
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 29343)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java	(revision 29344)
@@ -18,4 +18,5 @@
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -127,5 +128,5 @@
     protected void updateIcon() {
         // todo: change icon based on selection
-        int state = 0; // 0=unknown, 1=add, 2=remove, 3=both
+        final int state; // 0=unknown, 1=add, 2=remove, 3=both
         if( getCurrentDataSet() == null || getCurrentDataSet().getSelected() == null
                 || getCurrentDataSet().getSelected().isEmpty() || rel == null || rel.get() == null )
@@ -147,14 +148,19 @@
             }
         }
+        GuiHelper.runInEDT(new Runnable() {
+            @Override
+            public void run() {
 //        String name = state == 0 ? "?" : state == 1 ? "+" : state == 2 ? "-" : "±";
 //        putValue(Action.NAME, name);
-        if( state == 0 ) {
+                if (state == 0) {
 //            putValue(NAME, "?");
-            putValue(SMALL_ICON, ImageProvider.get("relcontext", "addremove"));
-        } else {
-            String iconName = state == 1 ? "add" : state == 2 ? "remove" : "addremove";
-            putValue(NAME, null);
-            putValue(SMALL_ICON, ImageProvider.get("relcontext", iconName));
-        }
+                    putValue(SMALL_ICON, ImageProvider.get("relcontext", "addremove"));
+                } else {
+                    String iconName = state == 1 ? "add" : state == 2 ? "remove" : "addremove";
+                    putValue(NAME, null);
+                    putValue(SMALL_ICON, ImageProvider.get("relcontext", iconName));
+                }
+            }
+        });
     }
 }
