diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentImplRegistryReader.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentImplRegistryReader.java
index 09d0c87..0e0fef7 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentImplRegistryReader.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentImplRegistryReader.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.common.componentcore.internal.util;
 
-import java.util.HashMap;
+import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -36,9 +36,9 @@
 
 	private static final ComponentImplRegistryReader instance = new ComponentImplRegistryReader();
 
-	private final Map/* <String, ComponentImplDescriptor> */descriptors = new HashMap();
+	private final Map/* <String, ComponentImplDescriptor> */descriptors = new Hashtable();
 
-	private final Map/* <ArtifactEditDescriptor, IComponentImplFactory> */instances = new HashMap();
+	private final Map/* <ComponentImplDescriptor, IComponentImplFactory> */instances = new Hashtable();
 
 	/**
 	 * @return Returns the instance.
@@ -86,7 +86,7 @@
 		return false;
 	}
 
-	private synchronized IComponentImplFactory getComponentImplFactory(String typeID) {
+	private IComponentImplFactory getComponentImplFactory(String typeID) {
 
 		ComponentImplDescriptor descriptor = (ComponentImplDescriptor) descriptors.get(typeID);
 		IComponentImplFactory factory = null;
