diff --git a/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java b/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
index 5328e57041089919ea3e74f34b3240b44cb7413e..4a7690495d7e8ce414cda13db24e70689e65d5b1 100644
--- a/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
+++ b/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
@@ -74,8 +74,15 @@ public class AltTransformAdapter extends DepthFirstAdapter
       }
 
       node.replaceBy(asimpleTerm);
-      String key = altIds.ids.elemTypes.get(elemNode) + "." + simpleTermTail.getText();
+      String untransformedElementType = altIds.ids.elemTypes.get(elemNode);
+      String key = untransformedElementType + "." + simpleTermTail.getText();
       String elementType = transformIds.getProdTransformIds().prodTransformElemTypesString.get(key);
+      if(elementType == null)
+      {
+        // This should only happen for plain token types
+        assert untransformedElementType.startsWith("T");
+        elementType = untransformedElementType;
+      }
       simpleTermTransform.put(asimpleTerm, "L" + elementType);
 
       //Terms are added here only if they were implicitely transformed
@@ -119,8 +126,15 @@ public class AltTransformAdapter extends DepthFirstAdapter
       }
 
       node.replaceBy(asimpleListTerm);
-      String key = altIds.ids.elemTypes.get(elemNode) + "." + simpleTermTail.getText();
+      String untransformedElementType = altIds.ids.elemTypes.get(elemNode);
+      String key = untransformedElementType + "." + simpleTermTail.getText();
       String elementType = transformIds.getProdTransformIds().prodTransformElemTypesString.get(key);
+      if(elementType == null)
+      {
+        // This should only happen for plain token types
+        assert untransformedElementType.startsWith("T");
+        elementType = untransformedElementType;
+      }
       simpleTermTransform.put(asimpleListTerm, "L" + elementType);
 
       //Terms are added here only if they were implicitely transformed