diff --git a/compiler/2014/CS_CodeGen.jrag b/compiler/2014/CS_CodeGen.jrag
index efbd16be6c2f41e27a699ea16f2e838ee8174519..87db5fa8559d06af4e0c585b78132dbc14537da3 100644
--- a/compiler/2014/CS_CodeGen.jrag
+++ b/compiler/2014/CS_CodeGen.jrag
@@ -314,12 +314,6 @@ aspect CS_Class {
     env.println("private class Dispatcher : SampleDispatcher {");
     env.indent();
     env.println();
-    env.println("public SampleDispatcher getSampleIdentity() {");
-    env.indent();
-    env.println("return dispatcher;");
-    env.unindent();
-    env.println("}");
-    env.println();
     env.println("public String getName() {");
     env.indent();
     env.println("return \"" + getName() + "\";");
diff --git a/lib/csharp/se/lth/control/labcomm2014/DecoderChannel.cs b/lib/csharp/se/lth/control/labcomm2014/DecoderChannel.cs
index 9638477ce8e450ac90491220abb80ed3b676959e..0225368f710841d0b0a30c00508f64fa8c7ea69c 100644
--- a/lib/csharp/se/lth/control/labcomm2014/DecoderChannel.cs
+++ b/lib/csharp/se/lth/control/labcomm2014/DecoderChannel.cs
@@ -194,7 +194,7 @@ namespace se.lth.control.labcomm2014 {
       int index = (int)ReadInt(4);
       try {
         DecoderRegistry.Entry e = ref_registry.get(index);
-        return e.getSampleDispatcher().getSampleIdentity();
+        return e.getSampleDispatcher();
       } catch (NullReferenceException) {
         return null;
       }
diff --git a/lib/csharp/se/lth/control/labcomm2014/DecoderRegistry.cs b/lib/csharp/se/lth/control/labcomm2014/DecoderRegistry.cs
index 6c7a4a49fc5d4d66336015cacceeb259bb637784..d9f9c588729a6ac7c4d122a284a6decf8565bfd4 100644
--- a/lib/csharp/se/lth/control/labcomm2014/DecoderRegistry.cs
+++ b/lib/csharp/se/lth/control/labcomm2014/DecoderRegistry.cs
@@ -90,11 +90,11 @@ namespace se.lth.control.labcomm2014 {
       }
     }
 
-    private Dictionary<SampleDispatcher, Entry> byIdentity;
+    private Dictionary<SampleDispatcher, Entry> byDispatcher;
     private Dictionary<int, Entry> byIndex;
 
     public DecoderRegistry() {
-      byIdentity = new Dictionary<SampleDispatcher, Entry>();
+      byDispatcher = new Dictionary<SampleDispatcher, Entry>();
       byIndex = new Dictionary<int, Entry>();
     }
 
@@ -102,7 +102,7 @@ namespace se.lth.control.labcomm2014 {
 		    SampleHandler handler) {
       lock(this) {
 	Entry e;
-	byIdentity.TryGetValue(dispatcher.getSampleIdentity(), out e);
+	byDispatcher.TryGetValue(dispatcher, out e);
 	if (e != null) {
 	  e.check(dispatcher.getName(), dispatcher.getSignature());
 	  e.setHandler(handler);
@@ -117,7 +117,7 @@ namespace se.lth.control.labcomm2014 {
 	  }
 	  if (e == null) {
 	    e = new Entry(dispatcher, handler);
-	    byIdentity.Add(dispatcher.getSampleIdentity(), e);
+	    byDispatcher.Add(dispatcher, e);
 	  }
 	}
       }
@@ -132,7 +132,7 @@ namespace se.lth.control.labcomm2014 {
 	if (e != null) {
 	  e.check(name, signature);
 	} else {
-	  foreach (Entry e2 in byIdentity.Values) {
+	  foreach (Entry e2 in byDispatcher.Values) {
 	    if (e2.match(name, signature)) {
 	      e2.setIndex(index);
 	      e = e2;
diff --git a/lib/csharp/se/lth/control/labcomm2014/EncoderRegistry.cs b/lib/csharp/se/lth/control/labcomm2014/EncoderRegistry.cs
index 72ec5f2bb606525014e7e85725b99525b0b6954d..e8b57308fafade4c977c1081c4f07bc26ec3ac26 100644
--- a/lib/csharp/se/lth/control/labcomm2014/EncoderRegistry.cs
+++ b/lib/csharp/se/lth/control/labcomm2014/EncoderRegistry.cs
@@ -26,19 +26,19 @@ namespace se.lth.control.labcomm2014 {
     }
 
     private int userIndex = Constant.FIRST_USER_INDEX;
-    private Dictionary<SampleDispatcher, Entry> byIdentity;
+    private Dictionary<SampleDispatcher, Entry> byDispatcher;
 
     public EncoderRegistry() {
-      byIdentity = new Dictionary<SampleDispatcher, Entry>();
+      byDispatcher = new Dictionary<SampleDispatcher, Entry>();
     }
 
     public int add(SampleDispatcher dispatcher) {
       lock(this) {
 	Entry e;
-	byIdentity.TryGetValue(dispatcher.getSampleIdentity(), out e);
+	byDispatcher.TryGetValue(dispatcher, out e);
 	if (e == null) {
 	  e = new Entry(dispatcher, userIndex);
-	  byIdentity.Add(dispatcher.getSampleIdentity(), e);
+	  byDispatcher.Add(dispatcher, e);
 	  userIndex++;
 	}
 	return e.getIndex();
@@ -48,7 +48,7 @@ namespace se.lth.control.labcomm2014 {
     public int getTag(SampleDispatcher sample) {
       lock(this) {
 	Entry e;
-	byIdentity.TryGetValue(sample, out e);
+	byDispatcher.TryGetValue(sample, out e);
 	if (e == null) {
 	  throw new Exception("'" + 
 			      sample.ToString() + 
diff --git a/lib/csharp/se/lth/control/labcomm2014/RenamingRegistry.cs b/lib/csharp/se/lth/control/labcomm2014/RenamingRegistry.cs
index 654ef33f870dfd09fa73d360cdaa872c706f048b..901e40a4e4f6d012d0462b88d96fd0e697d555ed 100644
--- a/lib/csharp/se/lth/control/labcomm2014/RenamingRegistry.cs
+++ b/lib/csharp/se/lth/control/labcomm2014/RenamingRegistry.cs
@@ -16,10 +16,6 @@ namespace se.lth.control.labcomm2014 {
         this.name = name;
       }
 
-      public SampleDispatcher getSampleIdentity() {
-        return this;
-      }
-    
       public String getName() {
         return name;
       }
diff --git a/lib/csharp/se/lth/control/labcomm2014/SampleDispatcher.cs b/lib/csharp/se/lth/control/labcomm2014/SampleDispatcher.cs
index de405d1505371766aced4e00462c297942e1a0b1..1822c25a18f88e1bef71387c2e2f6eba22f4cbf0 100644
--- a/lib/csharp/se/lth/control/labcomm2014/SampleDispatcher.cs
+++ b/lib/csharp/se/lth/control/labcomm2014/SampleDispatcher.cs
@@ -4,8 +4,6 @@ namespace se.lth.control.labcomm2014 {
 
   public interface SampleDispatcher {
     
-    SampleDispatcher getSampleIdentity();
-    
     String getName();
     
     byte[] getSignature();