Index: trunk/modules/jndi/src/main/java/javax/naming/InitialContext.java =================================================================== --- trunk/modules/jndi/src/main/java/javax/naming/InitialContext.java (revision 427412) +++ trunk/modules/jndi/src/main/java/javax/naming/InitialContext.java (working copy) @@ -475,7 +475,9 @@ } public void close() throws NamingException { - getDefaultInitCtx().close(); + if (this.gotDefault) { + getDefaultInitCtx().close(); + } } public String getNameInNamespace() throws NamingException { Index: trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/InitialContextMockTest.java =================================================================== --- trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/InitialContextMockTest.java (revision 427412) +++ trunk/modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/InitialContextMockTest.java (working copy) @@ -640,6 +640,9 @@ public void testClose() throws NamingException { gContext.close(); assertTrue(InvokeRecord.equals(null, "close")); + // regression test for HARMONY-1022 + new InitialContext().close(); + new InitialContext(null).close(); } }