diff --git a/src/share/classes/java/awt/AWTKeyStroke.java b/src/share/classes/java/awt/AWTKeyStroke.java index 13f6edd81f0a77a91fe68c5feef3b8540ef0a516..8966d753fb7cb722245d87f9e64d3989195acad1 100644 --- a/src/share/classes/java/awt/AWTKeyStroke.java +++ b/src/share/classes/java/awt/AWTKeyStroke.java @@ -802,8 +802,11 @@ public class AWTKeyStroke implements Serializable { */ protected Object readResolve() throws java.io.ObjectStreamException { synchronized (AWTKeyStroke.class) { - return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease); + if (getClass().equals(getAWTKeyStrokeClass())) { + return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease); + } } + return this; } private static int mapOldModifiers(int modifiers) {