diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue100/DataMore.java b/src/test/java/org/yaml/snakeyaml/issues/issue100/DataMore.java
new file mode 100644
index 0000000..a326355
--- /dev/null
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue100/DataMore.java
@@ -0,0 +1,8 @@
+package org.yaml.snakeyaml.issues.issue100;
+
+public class DataMore extends Data {
+    public DataMore() {
+        setId("-1");
+        setAge(-1);
+    }
+}
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue100/MergeJavaBeanTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue100/MergeJavaBeanTest.java
index 100829a..63687df 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue100/MergeJavaBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue100/MergeJavaBeanTest.java
@@ -19,6 +19,7 @@
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import junit.framework.TestCase;
@@ -44,20 +45,39 @@
     @SuppressWarnings("unchecked")
     public void testMergeWithTags() throws IOException {
         String input = Util.getLocalResource("issues/issue100-1.yaml");
-        //System.out.println(input);
+        // System.out.println(input);
         Yaml yaml = new Yaml();
-        List<Data> list = (List<Data>) yaml.load(input);
+        List<?> list = (List<?>) yaml.load(input);
         // First object: Data ( 11, "id123" )
-        assertEquals(11, list.get(0).getAge());
-        assertEquals("id123", list.get(0).getId());
+        assertEquals(list.get(0).getClass(), Data.class);
+        assertEquals(11, ((Data) list.get(0)).getAge());
+        assertEquals("id123", ((Data) list.get(0)).getId());
 
         // Second object: Data ( 13, "id456" )
-        assertEquals(13, list.get(1).getAge());
-        assertEquals("id456", list.get(1).getId());
+        assertEquals(list.get(1).getClass(), Data.class);
+        assertEquals(13, ((Data) list.get(1)).getAge());
+        assertEquals("id456", ((Data) list.get(1)).getId());
 
         // Third object: Data ( 11, "id789" )
-        assertEquals(11, list.get(2).getAge());
-        assertEquals("id789", list.get(2).getId());
+        assertEquals(list.get(2).getClass(), Data.class);
+        assertEquals(11, ((Data) list.get(2)).getAge());
+        assertEquals("id789", ((Data) list.get(2)).getId());
+
+        // 4th object: DataMore ( 30, "id123" )
+        assertEquals(list.get(3).getClass(), DataMore.class);
+        assertEquals(30, ((DataMore) list.get(3)).getAge());
+        assertEquals("id123", ((DataMore) list.get(3)).getId());
+
+        // 5th object: Map ( age: 100 )
+        assertTrue(list.get(4) instanceof Map);
+        assertEquals(1, ((Map<?, ?>) list.get(4)).size());
+        assertTrue(((Map<?, ?>) list.get(4)).containsKey("age"));
+        assertEquals(100, ((Map<?, ?>) list.get(4)).get("age"));
+
+        // 6th object: DataMore ( 100, "id789" )
+        assertEquals(list.get(5).getClass(), DataMore.class);
+        assertEquals(100, ((DataMore) list.get(5)).getAge());
+        assertEquals("id789", ((DataMore) list.get(5)).getId());
     }
 
     @SuppressWarnings("unchecked")
diff --git a/src/test/resources/issues/issue100-1.yaml b/src/test/resources/issues/issue100-1.yaml
index cba43b2..95a674c 100644
--- a/src/test/resources/issues/issue100-1.yaml
+++ b/src/test/resources/issues/issue100-1.yaml
@@ -3,9 +3,17 @@
  id: id123 
  age: 11
 - !!org.yaml.snakeyaml.issues.issue100.Data
- <<: *id001 
+ <<: *id001
  id: id456
  age: 13 
 - !!org.yaml.snakeyaml.issues.issue100.Data
+ &id003
  <<: *id001 
  id: id789
+- !!org.yaml.snakeyaml.issues.issue100.DataMore
+ <<: *id001 
+ age: 30
+- &id004
+ age: 100
+- !!org.yaml.snakeyaml.issues.issue100.DataMore
+ <<: [*id004, *id003]
