diff --git a/ExprPrimaryNodes.py b/ExprPrimaryNodes.py
index cea29170ba30fc0ab5b163c10937ae56902d5477..527c93e9a07cae62f8b51a9463f831cbeae84de5 100644
--- a/ExprPrimaryNodes.py
+++ b/ExprPrimaryNodes.py
@@ -5,6 +5,7 @@ import MemberNodes
 from TheTypeNode import TypeNode, TypeStruct
 from NameNode import NameNode, checkProtected
 from CodeGenUtils import p, pLabel, genMethodInvoke, importHelper, getCFlowLabel
+from codeGenNodes import genNameNode
 
 # file containing smaller (lower level nodes) in the AST
 # nodes in this file:
@@ -1138,6 +1139,10 @@ class MethodInvNode(ASTNode):
                 self.code += self.primary.code
             else: # a name node
                 if not hasattr(self.ID, "code"):
+                    if not self.ID.prefixNodes:
+                        cNameNode = genNameNode(self.typeName)
+                        cNameNode.isThis = True
+                        self.ID.prefixNodes.append(cNameNode)
                     self.ID.codeGen()
                 self.code += self.ID.code