diff --git a/src/main/jastadd/RelAst.parser b/src/main/jastadd/RelAst.parser
index 32236a483b646c518fd69c9fc383c9ec594bc09c..12a7044e722f07ebce04c83fb4f37dc0a3f15c13 100644
--- a/src/main/jastadd/RelAst.parser
+++ b/src/main/jastadd/RelAst.parser
@@ -40,13 +40,11 @@ ArrayList inner_type_use
     ;
 
 TypeUse type_use =
-//    s_type_use.u                {: return u; :}
-//  |
   parameterized_type_use.p    {: return p; :}
   | inner_type_use.p            {: return new SimpleTypeUse((String)p.stream().map( x -> ((Symbol)x).value.toString()).collect(java.util.stream.Collectors.joining("."))); :}
   ;
 ParameterizedTypeUse parameterized_type_use =
-  ID LT type_use_list.l GT      {: return new ParameterizedTypeUse(ID, l); :}
+  inner_type_use.i LT type_use_list.l GT      {: return new ParameterizedTypeUse((String)i.stream().map( x -> ((Symbol)x).value.toString()).collect(java.util.stream.Collectors.joining(".")), l); :}
   ;
 List type_use_list =
   type_use.u                              {: return new List().add(u); :}
diff --git a/src/test/jastadd/relations/Relations.relast b/src/test/jastadd/relations/Relations.relast
index 498e4fcf2553c37020ae9b53e64b3cd0f5703fb7..12f132e5e58968baff38120d79fde1090151acf8 100644
--- a/src/test/jastadd/relations/Relations.relast
+++ b/src/test/jastadd/relations/Relations.relast
@@ -50,6 +50,7 @@ D ::= SingleA:A ListOfA:A* [OptionalA:A] /NTAA:A/ ;
 
 // production with tokens, nonterminal-tokens, multi-line
 E ::= <T1> <T2:String> <T3:boolean> <T4:int> <T5:float> <T6:double> <T7:long>
+      <T8:java.lang.Object> <T9:ArrayList<String>> <T10:java.util.ArrayList<java.lang.String>>
       /<NT2:String>/ /<NT3:boolean>/ /<NT4:int>/ /<NT5:float>/ /<NT6:double>/ /<NT7:long>/ ;
 
 rel E.NT1 -> A ;