diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e9a2a50cdce56cad17776ff7206f1d938fed4f63..cbb023adcc672478137f076ea07933b76a3590d9 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-17  Mark Wielaard  <mark@klomp.org>
+
+	* java/awt/event/InvocationEvent.java (dispatch): Synchronize
+	on notifier object before calling notifyAll().
+
 2004-07-17  Michael Koch  <konqueror@gmx.de>
 
 	* gnu/java/nio/channels/FileChannelImpl.java
diff --git a/libjava/java/awt/event/InvocationEvent.java b/libjava/java/awt/event/InvocationEvent.java
index fbf7b5e9379bd14a44ad1d15c6406121a610949b..76d4a558244740bdbeca8ce447825b9553620308 100644
--- a/libjava/java/awt/event/InvocationEvent.java
+++ b/libjava/java/awt/event/InvocationEvent.java
@@ -189,8 +189,13 @@ public class InvocationEvent extends AWTEvent implements ActiveEvent
         }
     else
       runnable.run();
-    if (notifier != null)
-      notifier.notifyAll();
+
+    Object o = notifier;
+    if (o != null)
+      synchronized(o)
+	{
+	  o.notifyAll();
+	}
   }
 
   /**