diff --git a/ess/TraceWin.py b/ess/TraceWin.py
index c4c9f0f5fe03723af5cf64d5dfd4cf3d2b3b1bfc..da2518b30660f5ea7ee9db869675f27e3bc1b188 100644
--- a/ess/TraceWin.py
+++ b/ess/TraceWin.py
@@ -498,12 +498,12 @@ class density_file:
 
         # in case we did not read all data, this will detect our mistake:
         shift=0
-        while year!=2011 or version!=8:
+        while year!=2011 or version not in [8,9]:
             shift+=1
             version=year
             year=numpy.fromfile(self.fin, dtype=numpy.int16, count=1)[0]
-
         if shift:
+            print(year,version)
             raise ValueError("ERROR, shifted "+str(shift*2)+" bytes")
 
         self.vlong=numpy.fromfile(self.fin, dtype=numpy.int16, count=1)[0]
@@ -519,9 +519,14 @@ class density_file:
         self._getHeader()
 
         if self.envelope:
-            numpy.fromfile(self.fin, dtype=numpy.int16, count=292/2)
+            if self.version==8:
+                numpy.fromfile(self.fin, dtype=numpy.int16, count=292/2)
+            if self.version==9:
+                numpy.fromfile(self.fin, dtype=numpy.int16, count=300/2)
         elif self.version==8:
             numpy.fromfile(self.fin, dtype=numpy.int16, count=12344/2)
+        elif self.version==9:
+            numpy.fromfile(self.fin, dtype=numpy.int16, count=12352/2)
         elif self.Nrun>1:
             #WARN not 100% sure if this is correct..
             numpy.fromfile(self.fin, dtype=numpy.int16, count=((5588+self.Nrun*12)/2))
@@ -556,6 +561,9 @@ class density_file:
         # Aperture
         self.Xouv[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0]
         self.Youv[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0]
+        if self.version>=9:
+            dXouv=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0]
+            dYouv=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0]
         step=numpy.fromfile(self.fin, dtype=numpy.int32, count=1)[0]
 
         n=7 # x [m], y[m], Phase [deg], Energy [MeV], R[m], Z[m], dp/p