diff --git a/src/libsrc/fiber.pla b/src/libsrc/fiber.pla
index 598fbd9..92e3d83 100644
--- a/src/libsrc/fiber.pla
+++ b/src/libsrc/fiber.pla
@@ -31,9 +31,9 @@ byte fbrRunning = 0
 struc t_vm
     byte estklo[$10]
     byte estkhi[$10]
+    byte esp
     word ifp
     word pp
-    byte esp
     byte hwsp
     byte fill[9]
     byte drop
@@ -294,6 +294,7 @@ def fbrTest(fid, param)
     next
 end
 
+//puts("fbrSwap = "); puth(@fbrSwap); putln
 fbrInit(4)
 fbrStart(@fbrTest, 3)
 fbrStart(@fbrTest, 2)
diff --git a/src/vmsrc/plvmzp.inc b/src/vmsrc/plvmzp.inc
index 4dfba07..82140ec 100644
--- a/src/vmsrc/plvmzp.inc
+++ b/src/vmsrc/plvmzp.inc
@@ -14,15 +14,15 @@ ESTK	=	$C0
 ESTKL	=	ESTK
 ESTKH	=	ESTK+ESTKSZ/2
 VMZP	=	ESTK+ESTKSZ
-IFP	=	VMZP
+ESP     =       VMZP
+DVSIGN	=	VMZP
+IFP	=	ESP+1
 IFPL	=	IFP
 IFPH	=	IFP+1
 PP      =	IFP+2
 PPL	=	PP
 PPH	=	PP+1
-DVSIGN	=	PP+2
-ESP     =       PP+2
-IPY	=	ESP+1
+IPY	=	PP+2
 TMP	=	IPY+1
 TMPL	=	TMP
 TMPH	=	TMP+1