diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
index 3b82522..f6bf1b2 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
@@ -17,7 +17,10 @@
             uri="http://org.eclipse.jsf/mergetest1"/>     
       <standardMetaDataFile
             location="/testfiles/metadata/FileIncludeExternalModel.xml"
-            uri="http://org.eclipse.jsf/mergetest2"/>               
+            uri="http://org.eclipse.jsf/mergetest2"/>            
+      <standardMetaDataFile
+            location="/testfiles/metadata/FileIncludeExternalModel2.xml"
+            uri="http://org.eclipse.jsf/mergetest3"/>                  
       <standardMetaDataFile
             location="/testfiles/metadata/doesntexist.xml"
             uri=" http://org.eclipse.jsf/missingFile "/>
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
index 4273b74..66025da 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
@@ -62,6 +62,9 @@
 		//EntityGroups
 		assertNotNull(model.getEntityGroups());
 		assertEquals(2, model.getEntityGroups().size());
+		
+		//test containment
+		assertEquals(model, model.getEntityGroups().get(0).getModel());
 	}
 
 	public void testFindIncludeGroup() {
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
index 61c8e26..1fbb427 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
@@ -177,6 +177,33 @@
 		assertNotNull(entity);
 		assertEquals(0, entity.getChildEntities().size());
 		assertEquals(2, entity.getTraits().size());
+		
+		//do it again with another model to ensure that entity group from external model is still intact
+		uri =  "http://org.eclipse.jsf/mergetest3";
+		startTime(uri);
+		model = query.findTagLibraryModel(uri);
+		endTime();
+		assertNotNull(model);
+		
+		dumpMDTree(model, 0);
+		
+		//check model traits
+		assertEquals(1, model.getTraits().size());
+		trait = query.findTrait(model, "A1");
+		assertNotNull(trait);
+		assertEquals("A1FromEG1", TraitValueHelper.getValueAsString(trait));
+		
+		//check model entities
+		assertEquals(1, model.getChildEntities().size());
+		entity = query.findTagEntity(model, "a");
+		assertNotNull(entity);
+		assertEquals(0, entity.getChildEntities().size());
+		assertEquals(2, entity.getTraits().size());
+		
+		model = query.getQueryHelper().getModel("http://org.eclipse.jsf/mergetest1");
+		assertNotNull(model);
+		assertEquals(2, model.getEntityGroups().size());
+		
 	}
 
 	public void testLoadJSFCore(){
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml
new file mode 100644
index 0000000..f5442db
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml
@@ -0,0 +1,9 @@
+<metadatamodel 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 
+	xmlns:mdt="http://org.eclipse.jst.jsf.common.metadata/metadataTraitTypes.ecore"  
+	id="http://org.eclipse.jsf/mergetest3">
+	
+	<include-entity-group id="eg1" uri="http://org.eclipse.jsf/mergetest1"/>
+  	
+</metadatamodel>
