Index: /trunk/src/org/openstreetmap/josm/gui/oauth/RetrieveAccessTokenTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/oauth/RetrieveAccessTokenTask.java	(revision 9255)
+++ /trunk/src/org/openstreetmap/josm/gui/oauth/RetrieveAccessTokenTask.java	(revision 9256)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.help.HelpUtil;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.OsmTransferCanceledException;
 import org.openstreetmap.josm.io.OsmTransferException;
@@ -87,7 +88,12 @@
         } catch (OsmTransferCanceledException e) {
             return;
-        } catch (OsmOAuthAuthorizationException e) {
+        } catch (final OsmOAuthAuthorizationException e) {
             Main.error(e);
-            alertRetrievingAccessTokenFailed(e);
+            GuiHelper.runInEDT(new Runnable() {
+                @Override
+                public void run() {
+                    alertRetrievingAccessTokenFailed(e);
+                }
+            });
             accessToken = null;
         } finally {
Index: /trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorizationUI.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorizationUI.java	(revision 9255)
+++ /trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorizationUI.java	(revision 9256)
@@ -20,5 +20,4 @@
 import javax.swing.JLabel;
 import javax.swing.JPanel;
-import javax.swing.SwingUtilities;
 
 import org.openstreetmap.josm.Main;
@@ -26,4 +25,5 @@
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.preferences.server.OAuthAccessTokenHolder;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.HtmlPanel;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
@@ -403,5 +403,5 @@
                     if (task.getRequestToken() == null) return;
                     requestToken = task.getRequestToken();
-                    SwingUtilities.invokeLater(new Runnable() {
+                    GuiHelper.runInEDT(new Runnable() {
                         @Override
                         public void run() {
@@ -439,8 +439,8 @@
                     if (task.isCanceled()) return;
                     if (task.getAccessToken() == null) return;
-                    setAccessToken(task.getAccessToken());
-                    SwingUtilities.invokeLater(new Runnable() {
+                    GuiHelper.runInEDT(new Runnable() {
                         @Override
                         public void run() {
+                            setAccessToken(task.getAccessToken());
                             transitionToShowAccessToken();
                         }
