Index: common/amx-core-impl/src/main/java/org/glassfish/admin/amx/impl/mbean/PathnamesImpl.java =================================================================== --- common/amx-core-impl/src/main/java/org/glassfish/admin/amx/impl/mbean/PathnamesImpl.java (revision 55254) +++ common/amx-core-impl/src/main/java/org/glassfish/admin/amx/impl/mbean/PathnamesImpl.java (working copy) @@ -158,7 +158,9 @@ if (objectName != null) { //cdebug( "Matched " + path + " to " + objectName); - mPathnameCache.put(path, objectName); + ObjectName tmpObjectName = mPathnameCache.putIfAbsent(path, objectName); + if(tmpObjectName != null) + objectName = tmpObjectName; } return objectName; Index: common/amx-core/src/main/java/org/glassfish/admin/amx/core/proxy/ProxyFactory.java =================================================================== --- common/amx-core/src/main/java/org/glassfish/admin/amx/core/proxy/ProxyFactory.java (revision 55254) +++ common/amx-core/src/main/java/org/glassfish/admin/amx/core/proxy/ProxyFactory.java (working copy) @@ -431,7 +431,9 @@ info = getMBeanServerConnection().getMBeanInfo(objectName); if ( invariantMBeanInfo(info) ) { - mMBeanInfoCache.put(objectName, info); + MBeanInfo tmpInfo = mMBeanInfoCache.putIfAbsent(objectName, info); + if(tmpInfo != null) + info = tmpInfo; } } return info;