diff --git a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetInstallDelegate.java b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetInstallDelegate.java
similarity index 98%
rename from plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetInstallDelegate.java
rename to plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetInstallDelegate.java
index b710945..0f1f01f 100644
--- a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetInstallDelegate.java
@@ -42,7 +42,7 @@
 import org.eclipse.wst.common.project.facet.core.IDelegate;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 
-public class Ejb3FacetInstallDelegate extends J2EEFacetInstallDelegate implements IDelegate {
+public class EjbFacetInstallDelegate extends J2EEFacetInstallDelegate implements IDelegate {
 
 	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
 
diff --git a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetPostInstallDelegate.java b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetPostInstallDelegate.java
similarity index 96%
rename from plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetPostInstallDelegate.java
rename to plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetPostInstallDelegate.java
index 1c101fa..fb5139e 100644
--- a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/Ejb3FacetPostInstallDelegate.java
+++ b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/ejb/project/facet/EjbFacetPostInstallDelegate.java
@@ -35,10 +35,10 @@
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.jst.j2ee.internal.common.CreationConstants;
 import org.eclipse.jst.j2ee.internal.ejb.project.operations.IEjbFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetInstallDataModelProperties;
+import org.eclipse.jst.jee.internal.common.JEEVersionUtil;
+import org.eclipse.jst.jee.project.facet.IJEEFacetInstallDataModelProperties;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
 import org.eclipse.jst.j2ee.project.facet.J2EEFacetInstallDelegate;
-import org.eclipse.jst.jee.JEEVersionUtil;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
 import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
@@ -51,7 +51,7 @@
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
 
-public class Ejb3FacetPostInstallDelegate extends J2EEFacetInstallDelegate implements IDelegate {
+public class EjbFacetPostInstallDelegate extends J2EEFacetInstallDelegate implements IDelegate {
 
 	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
 
@@ -80,7 +80,7 @@
 
 					installAndAddModuletoEAR( j2eeVersionText,
 										earProjectName,
-										(IRuntime) model.getProperty(IJ2EEFacetInstallDataModelProperties.FACET_RUNTIME),
+										(IRuntime) model.getProperty(IJEEFacetInstallDataModelProperties.FACET_RUNTIME),
 										project,
 										moduleURI,
 										monitor );
@@ -102,7 +102,7 @@
 //					c.setMetaProperty(CreationConstants.CLIENT_JAR_URI, clientURI);
 //
 //
-//					org.eclipse.wst.common.project.facet.core.runtime.IRuntime rt = (IRuntime) model.getProperty(IJ2EEFacetInstallDataModelProperties.FACET_RUNTIME);
+//					org.eclipse.wst.common.project.facet.core.runtime.IRuntime rt = (IRuntime) model.getProperty(IJEEFacetInstallDataModelProperties.FACET_RUNTIME);
 //					try {
 //
 //						IDataModel dm = DataModelFactory.createDataModel(new EjbClientProjectCreationDataModelProvider());
diff --git a/plugins/org.eclipse.jst.jee.ejb/plugin.xml b/plugins/org.eclipse.jst.jee.ejb/plugin.xml
index e01f2fb..f346065 100644
--- a/plugins/org.eclipse.jst.jee.ejb/plugin.xml
+++ b/plugins/org.eclipse.jst.jee.ejb/plugin.xml
@@ -13,15 +13,16 @@
  	       </and>
     	</constraint>
       	<group-member id="modules"/>
-		<action type="install" id="jst.ejb#3.0#install">
-    		<delegate class="org.eclipse.jst.jee.ejb.project.facet.Ejb3FacetInstallDelegate"/>
-       	   	<config-factory class="org.eclipse.jst.j2ee.internal.ejb.project.operations.EjbFacetInstallDataModelProvider"/>
-      	</action>
-		<event-handler type="POST_INSTALL">
-			<delegate class="org.eclipse.jst.jee.ejb.project.facet.Ejb3FacetPostInstallDelegate"/>
-    	</event-handler>
     </project-facet-version>
     
+     <action facet="jst.ejb" version="3.0" type="INSTALL" id="jst.ejb#3.0#install">
+    		<delegate class="org.eclipse.jst.jee.ejb.project.facet.EjbFacetInstallDelegate"/>
+       	   	<config-factory class="org.eclipse.jst.j2ee.internal.ejb.project.operations.EjbFacetInstallDataModelProvider"/>
+    </action>
+    
+    <event-handler facet="jst.ejb" version="3.0" type="POST_INSTALL">
+			<delegate class="org.eclipse.jst.jee.ejb.project.facet.EjbFacetPostInstallDelegate"/>
+    </event-handler>
          
    </extension> 
 
