diff --git a/IO/EnSight/vtkEnSightReader.cxx b/IO/EnSight/vtkEnSightReader.cxx
index 5d27923d0c49b17150aa0e00decd5d129c9667e0..58a6e760b3a3dde2ba8d632dbbede966ef97fa16 100644
--- a/IO/EnSight/vtkEnSightReader.cxx
+++ b/IO/EnSight/vtkEnSightReader.cxx
@@ -1572,11 +1572,12 @@ int vtkEnSightReader::ReadVariableFiles(vtkMultiBlockDataSet *output)
           fileNum = 1;
           for (j = 1; j < numStepsList->GetNumberOfIds(); j++)
             {
-            numSteps += numStepsList->GetId(j);
+            int curNumSteps = numStepsList->GetId(j);
+            numSteps += curNumSteps;
             if (timeStep > numSteps)
               {
               fileNum++;
-              timeStepInFile -= numStepsList->GetId(j);
+              timeStepInFile -= curNumSteps;
               }
             }
           }
@@ -1716,11 +1717,12 @@ int vtkEnSightReader::ReadVariableFiles(vtkMultiBlockDataSet *output)
           fileNum = 1;
           for (j = 1; j < numStepsList->GetNumberOfIds(); j++)
             {
-            numSteps += numStepsList->GetId(j);
+            int curNumSteps = numStepsList->GetId(j);
+            numSteps += curNumSteps;
             if (timeStep > numSteps)
               {
               fileNum++;
-              timeStepInFile -= numStepsList->GetId(j);
+              timeStepInFile -= curNumSteps;
               }
             }
           }