--- old/src/java.desktop/share/classes/java/awt/SequencedEvent.java 2017-08-16 15:53:02.805694900 +0530 +++ new/src/java.desktop/share/classes/java/awt/SequencedEvent.java 2017-08-16 15:53:02.043042400 +0530 @@ -106,13 +106,15 @@ if (getFirst() != this) { if (EventQueue.isDispatchThread()) { - EventDispatchThread edt = (EventDispatchThread) - Thread.currentThread(); - edt.pumpEvents(SentEvent.ID, new Conditional() { - public boolean evaluate() { - return !SequencedEvent.this.isFirstOrDisposed(); - } - }); + if (Thread.currentThread() instanceof EventDispatchThread) { + EventDispatchThread edt = (EventDispatchThread) + Thread.currentThread(); + edt.pumpEvents(SentEvent.ID, new Conditional() { + public boolean evaluate() { + return !SequencedEvent.this.isFirstOrDisposed(); + } + }); + } } else { while(!isFirstOrDisposed()) { synchronized (SequencedEvent.class) { --- old/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java 2017-08-16 15:53:07.087051000 +0530 +++ new/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java 2017-08-16 15:53:06.345902800 +0530 @@ -264,13 +264,15 @@ } SunToolkit.postEvent(targetAppContext, se); if (EventQueue.isDispatchThread()) { - EventDispatchThread edt = (EventDispatchThread) - Thread.currentThread(); - edt.pumpEvents(SentEvent.ID, new Conditional() { + if (Thread.currentThread() instanceof EventDispatchThread) { + EventDispatchThread edt = (EventDispatchThread) + Thread.currentThread(); + edt.pumpEvents(SentEvent.ID, new Conditional() { public boolean evaluate() { return !se.dispatched && !targetAppContext.isDisposed(); } }); + } } else { synchronized (se) { while (!se.dispatched && !targetAppContext.isDisposed()) {