diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientComponentCreationOperation.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientComponentCreationOperation.java
index dcc5e37..deffc3e 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientComponentCreationOperation.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EJBClientComponentCreationOperation.java
@@ -156,7 +156,7 @@
         }
         
         if( !clientProjectName.equals( ejbprojectName )){
-            IDataModel dataModel = DataModelFactory.createDataModel(JARDependencyDataModelProvider.class);
+            IDataModel dataModel = DataModelFactory.createDataModel(new JARDependencyDataModelProvider());
             dataModel.setProperty(JARDependencyDataModelProperties.PROJECT_NAME, ejbprojectName);
             dataModel.setProperty(JARDependencyDataModelProperties.REFERENCED_PROJECT_NAME, clientProjectName);
             dataModel.setIntProperty(JARDependencyDataModelProperties.JAR_MANIPULATION_TYPE, JARDependencyDataModelProperties.JAR_MANIPULATION_ADD);
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/internal/modulecore/util/EJBArtifactEditUtilities.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/internal/modulecore/util/EJBArtifactEditUtilities.java
index 7070aaa..f92255b 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/internal/modulecore/util/EJBArtifactEditUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/internal/modulecore/util/EJBArtifactEditUtilities.java
@@ -36,16 +36,16 @@
 	
 	public static EJBJar getEJBJar(IVirtualComponent comp) {
 		EJBArtifactEdit edit = null;
+		EJBJar ejbJar = null;
 		try {
 			edit = EJBArtifactEdit.getEJBArtifactEditForRead(comp);
 			if (edit != null)
-				edit.getEJBJar();
+				ejbJar = edit.getEJBJar();
 		} finally {
 			if (edit != null)
 				edit.dispose();
 		}
-		return null;	
-			
+		return ejbJar;	
 	}
 }
 
