diff --git a/compiler/2014/Signature.jrag b/compiler/2014/Signature.jrag
index 5395095487bde26c2df7a19b0ea4f452144995d9..53d59b63383cabcb988100e32ff9c472293f45ee 100644
--- a/compiler/2014/Signature.jrag
+++ b/compiler/2014/Signature.jrag
@@ -184,17 +184,17 @@ aspect Signature {
   }
 
   public void UserType.genSigLineForDecl(SignatureList list, boolean decl) {
-    if(decl){
-     //System.out.println("************ UserType.genSigLine("+decl+").... for "+getName());
-      TypeDecl thet=lookupType(getName());
-      //System.out.println("************ thet: "+thet.getName() +":"+thet.getType());
-      thet.genSigLineForDecl(list, decl);
-    }else{
+//    if(decl){
+//     //System.out.println("************ UserType.genSigLine("+decl+").... for "+getName());
+//      TypeDecl thet=lookupType(getName());
+//      //System.out.println("************ thet: "+thet.getName() +":"+thet.getType());
+//      thet.genSigLineForDecl(list, decl);
+//    }else{
      //System.out.println("************ UserType.genSigLine("+decl+").... for "+getName());
       TypeDecl thet = lookupType(getName());
      // System.out.println("************ thet: "+thet.getName() +":"+thet.getType());
       list.addTypeRef(thet, null);
-    }
+//    }
   }
 
   public void ArrayType.genSigLineForDecl(SignatureList list, boolean decl) {
diff --git a/examples/user_types/ExampleDecoder.cs b/examples/user_types/ExampleDecoder.cs
index d33873b67d24ae325cb0fc5526e655025e642246..2b4ef09248e9c51751354c571999ecd4ef6550a2 100644
--- a/examples/user_types/ExampleDecoder.cs
+++ b/examples/user_types/ExampleDecoder.cs
@@ -7,7 +7,10 @@ using se.lth.control.labcomm;
 
 namespace user_types
 {
-    class Decoder : twoLines.Handler, twoInts.Handler 
+    class Decoder : twoLines.Handler, 
+                    twoInts.Handler, 
+                    theFirstInt.Handler, 
+                    theSecondInt.Handler
     {
         DecoderChannel dec;
 
@@ -16,6 +19,8 @@ namespace user_types
             dec = new DecoderChannel(stream);
             twoLines.register(dec, this);
             twoInts.register(dec, this);
+            theFirstInt.register(dec, this);
+            theSecondInt.register(dec, this);
             try
             {
                 Console.WriteLine("Running decoder.");
@@ -49,6 +54,11 @@ namespace user_types
             Console.WriteLine("b: "+d.b);
         }
 
+        public void handle(int d)
+        {
+            Console.WriteLine("Got int: "+d);
+        }
+
         static void Main(string[] args)
         {
             new Decoder(new FileStream(args[0], FileMode.Open));
diff --git a/lib/c/2014/test/test_labcomm_generated_encoding.c b/lib/c/2014/test/test_labcomm_generated_encoding.c
index 247a69dedd2870eb2b05b5796d85cf8d4c2885b5..11f9d7c32fd492543a9ab017a279c85ec369c413 100644
--- a/lib/c/2014/test/test_labcomm_generated_encoding.c
+++ b/lib/c/2014/test/test_labcomm_generated_encoding.c
@@ -215,7 +215,7 @@ int main(void)
   labcomm_encoder_register_generated_encoding_V(encoder);
   EXPECT({ 0x02, 0x06, VARIABLE(0), 0x01, 'V', 0x02, 0x11, 0x00,
            0x04, 0x08, VARIABLE(1), 0x03, 'v', '_', 't', 0x02, 0x11, 0x00,
-           0x04, 0x04, VARIABLE(2), 0x01, 'V', VARIABLE(1),
+           0x04, 0x05, VARIABLE(2), 0x01, 'V', 0x01, VARIABLE(1),
            0x05, 0x02, VARIABLE(0), VARIABLE(2) });
 
   labcomm_encoder_ioctl(encoder, IOCTL_WRITER_RESET);