diff --git a/libs/UIX.DecompXml/Decompiler.Script.cs b/libs/UIX.DecompXml/Decompiler.Script.cs
index a1fdd98..3ccd15d 100644
--- a/libs/UIX.DecompXml/Decompiler.Script.cs
+++ b/libs/UIX.DecompXml/Decompiler.Script.cs
@@ -224,6 +224,10 @@ partial class Decompiler
switch (opCode)
{
+ case OpCode.PushThis:
+ stack.Push(ThisExpression());
+ break;
+
case OpCode.ConstructObject:
case OpCode.ConstructObjectParam:
var typeToCtor = _context.GetImportedType(instruction.Operands.First());
diff --git a/libs/UIX.DecompXml/Decompiler.cs b/libs/UIX.DecompXml/Decompiler.cs
index 9a22006..dfac9b4 100644
--- a/libs/UIX.DecompXml/Decompiler.cs
+++ b/libs/UIX.DecompXml/Decompiler.cs
@@ -152,10 +152,6 @@ public partial class Decompiler
stack.Push(null);
break;
- case OpCode.PushThis:
- stack.Push(elemToInit);
- break;
-
case OpCode.ConstructObject:
var typeToCtor = _context.GetImportedType(instruction.Operands.ElementAt(0));
var xObj = new XElement(_context.GetXName(typeToCtor));
@@ -245,6 +241,7 @@ public partial class Decompiler
break;
case OpCode.ConstructObjectParam:
+ case OpCode.PushThis:
case OpCode.MethodInvoke:
case OpCode.MethodInvokePeek:
case OpCode.MethodInvokeStatic:
diff --git a/test/STYLES_decomp.uix b/test/STYLES_decomp.uix
index a0a0aaa..8e1091d 100644
--- a/test/STYLES_decomp.uix
+++ b/test/STYLES_decomp.uix
@@ -672,6 +672,7 @@
+