--- old/src/java.desktop/share/classes/java/awt/event/InputMethodEvent.java 2014-08-29 11:51:51.168170700 +0400 +++ new/src/java.desktop/share/classes/java/awt/event/InputMethodEvent.java 2014-08-29 11:51:50.657605800 +0400 @@ -418,7 +418,8 @@ private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException { s.defaultReadObject(); if (when == 0) { - when = getMostRecentEventTimeForSource(this.source); + // Can't use getMostRecentEventTimeForSource because source is always null during deserialization + when = EventQueue.getMostRecentEventTime(); } }