diff --git a/MemberNodes.py b/MemberNodes.py
index 87c3b5a9a104a2570811bfdf77f8590f7159b246..138bd541a24a5016612ca0e609f6b04c300b89c4 100644
--- a/MemberNodes.py
+++ b/MemberNodes.py
@@ -259,7 +259,7 @@ class MethodNode(ASTNode):
 
         self.label = "M_" + self.typeName  + "_" + self.name + "_" + self.paramTypes
         self.code = pLabel(self.typeName  + "_" + self.name + "_" + self.paramTypes, "method") # label
-        thisLoc = 8 # Right after ebp, eip 
+        thisLoc = 8 # Right after ebp, eip
         bodyCode = ""
 
         if self.body:
@@ -285,7 +285,7 @@ class MethodNode(ASTNode):
             if not 'static' in f.mods and f.variableDcl.variableInit:
                 f.variableDcl.variableInit.codeGen()
                 bodyCode += f.variableDcl.variableInit.code
-                bodyCode += p("mov", "ebx", "[ebp + " + str(thisLoc) + "]") # THIS
+                bodyCode += p("mov", "ebx", "[ebp - " + str(thisLoc) + "]") # THIS
                 bodyCode += p("mov", "[ebx + " + str(f.offset) + " ]", "eax")
 
         # body code
diff --git a/codeGenNodes.py b/codeGenNodes.py
index 695b6d858166138350bd1dfe4d68e6dd91a0081a..5db74b6f06dc3ce77a2f87dc6b819dc2d5d7fea2 100644
--- a/codeGenNodes.py
+++ b/codeGenNodes.py
@@ -12,7 +12,7 @@ class genNameNode():
     # returns code
     def codeGen(self):
         if self.isThis:
-            self.code = p("mov", "eax", "[ebp + 8]")
+            self.code = p("mov", "eax", "[ebp - 8]")
         elif self.nodeLink.__class__.__name__ == "VarDclNode":
             self.code = p("mov", "eax", "[ebp - " + str(self.nodeLink.offset) + "]")
         elif self.nodeLink.__class__.__name__ == "ParamNode":
@@ -35,7 +35,7 @@ class genNameNode():
         result = ""
         if self.isThis:
             result = p("mov", "eax", "ebp")
-            result += p("add", "eax", "8")
+            result += p("sub", "eax", "8")
         elif self.nodeLink.__class__.__name__ == "VarDclNode":
             result = p("mov", "eax", "ebp")
             result += p("sub", "eax", str(self.nodeLink.offset))