diff --git a/ess/TraceWin.py b/ess/TraceWin.py
index f1e7348e4bb1598fb2e078f9e6eceda7fbdd68f0..b3d6e04310afc074b7350ff93a49d93f3f303062 100644
--- a/ess/TraceWin.py
+++ b/ess/TraceWin.py
@@ -1008,6 +1008,9 @@ class partran(dict):
     '''
     Read partran1.out files..
     '''
+    # python 3 forward compatibility:
+    from builtins import range
+
     def __init__(self,filename):
         self.filename=filename
         self._readAsciiFile()
@@ -1016,8 +1019,8 @@ class partran(dict):
 
         import numpy
 
-        stream=file(self.filename,'r')
-        for i in xrange(10):
+        stream=open(self.filename,'r')
+        for i in range(10):
             line=stream.readline()
             if line.strip()[0]=='#':
                 break
@@ -1025,7 +1028,7 @@ class partran(dict):
         self.data=numpy.loadtxt(stream)
 
         self._dict={}
-        for i in xrange(len(self.columns)):
+        for i in range(len(self.columns)):
             self[self.columns[i]]=self.data[:,i]
 
 class field_map: