diff --git a/common/python/nomadcore/md_data_access/MDDataAccess.py b/common/python/nomadcore/md_data_access/MDDataAccess.py
index f1313473addee599613f9fa85f7cbc456659521e..6b2254df9eff7f5958394fca4bc35093fba91b73 100644
--- a/common/python/nomadcore/md_data_access/MDDataAccess.py
+++ b/common/python/nomadcore/md_data_access/MDDataAccess.py
@@ -1710,11 +1710,13 @@ class MDDataAccess(object):
                                     self.trajplugin = molfile_traj
                                     self.natoms = numatoms
                 else:
+                    molfile_traj = None
                     if numatoms is not None:
                         if numatoms > 0:
                             molfile_traj = pym.OpenMolfile(chkfile, file_format=filetrajformat, natoms=numatoms, silent=False)
-                    if molfile_traj.trajectory is not None:
-                        trajhandler_check = molfile_traj
+                    if molfile_traj is not None:
+                        if molfile_traj.trajectory is not None:
+                            trajhandler_check = molfile_traj
                     if trajhandler_check:
                         trajhandler = None
                         trajhandler = self.pymolfile_iread(trajhandler_check)
@@ -2786,10 +2788,12 @@ class MDDataAccess(object):
         return n_atoms
 
     def set_nsteps(self):
+        if "pymolfile" in self.trajcode:
+            return len(self.trajhandler.nsteps)
         if "mdtraj" in self.trajcode:
             return len(self.trajhandler.trajectory)
         if "mdanalysis" in self.trajcode:
-            return len(self.trajhandler.trajectory)
+            return len(self.trajhandler.n_steps)
         if "ase" in self.trajcode:
             return len(self.trajhandler.trajectory)