diff --git a/src/test/java/org/eclipse/yasson/jsonstructure/Issue673.java b/src/test/java/org/eclipse/yasson/jsonstructure/Issue673.java
index c7155f6..7aeca3a 100644
--- a/src/test/java/org/eclipse/yasson/jsonstructure/Issue673.java
+++ b/src/test/java/org/eclipse/yasson/jsonstructure/Issue673.java
@@ -124,7 +124,7 @@
                 return new IRIReference(str.getString());
             }
             if (v instanceof JsonObject obj) {
-                dc.deserialize(Reference.class, 
+                return dc.deserialize(Reference.class,
                         Json.createParserFactory(Collections.EMPTY_MAP)
                                 .createParser(obj));
             }
diff --git a/src/test/java/org/eclipse/yasson/jsonstructure/JsonStructureToParserAdapterTest.java b/src/test/java/org/eclipse/yasson/jsonstructure/JsonStructureToParserAdapterTest.java
index aef5fda..d76984e 100644
--- a/src/test/java/org/eclipse/yasson/jsonstructure/JsonStructureToParserAdapterTest.java
+++ b/src/test/java/org/eclipse/yasson/jsonstructure/JsonStructureToParserAdapterTest.java
@@ -283,9 +283,20 @@
         }
         """;
         
-        Jsonb jsonb = JsonbBuilder.create(
-                new JsonbConfig().withDeserializers(new Issue673.ReferenceableDeserializer()));
-        jsonb.fromJson(json, Issue673.LocationInterface.class);
+        Jsonb jsonb = JsonbBuilder.create();
+        Issue673.LocationInterface result = jsonb.fromJson(json, Issue673.LocationInterface.class);
+	        
+        assertNotNull(result);
+        assertTrue(result instanceof Issue673.Location);
+        Issue673.Location location = (Issue673.Location) result;
+
+        Issue673.Referenceable refAble = location.getReference();
+        assertNotNull(refAble);
+        assertFalse(refAble instanceof Issue673.Reference);
+        assertTrue(refAble instanceof Issue673.IRIReference);
+        Issue673.IRIReference ref = (Issue673.IRIReference) refAble;
+
+        assertEquals("dummy reference", ref.getValue());
     }
     
     @Test
@@ -298,9 +309,17 @@
         }
         """;
         
-        Jsonb jsonb = JsonbBuilder.create(
-                new JsonbConfig().withDeserializers(new Issue673.ReferenceableDeserializer()));
-        jsonb.fromJson(json, Issue673.LocationInterface.class);
+        Jsonb jsonb = JsonbBuilder.create();
+        Issue673.LocationInterface result = jsonb.fromJson(json, Issue673.LocationInterface.class);
+        
+        assertNotNull(result);
+        assertTrue(result instanceof Issue673.Location);
+        Issue673.Location location = (Issue673.Location) result;
+        
+        String tags = location.getTags();
+        assertNotNull(tags);
+
+        assertEquals("test1, test2", tags);
     }
 
 }
