Index: src/main/java/java/beans/EventHandler.java =================================================================== --- src/main/java/java/beans/EventHandler.java (revision 548676) +++ src/main/java/java/beans/EventHandler.java (working copy) @@ -160,9 +160,8 @@ if ((eventPropertyName == null) && ((arguments == null) || (arguments.length == 0))) { result = true; - // one-argument call is value - } else if ((eventPropertyName != null) && (arguments != null) - && (arguments.length == 1)) { + // one-argument call is valid + } else if ((arguments != null) && (arguments.length == 1)) { result = true; } else { result = false; Index: src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java =================================================================== --- src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java (revision 548676) +++ src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java (working copy) @@ -126,6 +126,13 @@ assertEquals(invocationObject, handler.getTarget()); assertEquals("doSomething", getMethodName()); + + // Regression test for HARMONY-4033 + m = FredListener.class.getMethod("fireFredEvent", + new Class[] { FredEvent.class }); + proxy = EventHandler.create(FredListener.class, invocationObject, + "doSomething", null, "fireFredEvent"); + m.invoke(proxy, new Object[] { null }); } /**