diff --git a/IO/EnSight/vtkEnSightGoldBinaryReader.cxx b/IO/EnSight/vtkEnSightGoldBinaryReader.cxx
index ff8cad7bd462480a4eef6807b8ceaa8fbcd65fe9..ad9ca969dc01ab91c8843a7c9b5f76ef266a216a 100644
--- a/IO/EnSight/vtkEnSightGoldBinaryReader.cxx
+++ b/IO/EnSight/vtkEnSightGoldBinaryReader.cxx
@@ -825,7 +825,7 @@ int vtkEnSightGoldBinaryReader::SkipUnstructuredGrid(char line[256])
     {
       vtkDebugMacro("nsided");
       int* numNodesPerElement;
-      int numNodes = 0;
+      vtkIdType numNodes = 0;
 
       // cellType = vtkEnSightReader::NSIDED;
       this->ReadInt(&numElements);
@@ -2116,8 +2116,8 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput(
     {
       vtkDebugMacro("nsided");
       int* numNodesPerElement;
-      int numNodes = 0;
-      int nodeCount = 0;
+      vtkIdType numNodes = 0;
+      vtkIdType nodeCount = 0;
 
       cellType = vtkEnSightReader::NSIDED;
       this->ReadInt(&numElements);
@@ -2164,7 +2164,7 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput(
       // skipping ghost cells
       vtkDebugMacro("g_nsided");
       int* numNodesPerElement;
-      int numNodes = 0;
+      vtkIdType numNodes = 0;
 
       // cellType = vtkEnSightReader::NSIDED;
       this->ReadInt(&numElements);
@@ -2394,12 +2394,12 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput(
       int* numNodesPerFace;
       int* numNodesPerElement;
       int* nodeMarker;
-      int numPts = 0;
-      int numFaces = 0;
-      int numNodes = 0;
-      int faceCount = 0;
-      int nodeCount = 0;
-      int elementNodeCount = 0;
+      vtkIdType numPts = 0;
+      vtkIdType numFaces = 0;
+      vtkIdType numNodes = 0;
+      vtkIdType faceCount = 0;
+      vtkIdType nodeCount = 0;
+      vtkIdType elementNodeCount = 0;
 
       cellType = vtkEnSightReader::NFACED;
       this->ReadInt(&numElements);
@@ -2468,8 +2468,8 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput(
 
       // yyy begin
       int k;                      // indexing each node Id of a face
-      int faceIdx = 0;            // indexing faces throughout all polyhedra
-      int nodeIdx = 0;            // indexing nodes throughout all polyhedra
+      vtkIdType faceIdx = 0;      // indexing faces throughout all polyhedra
+      vtkIdType nodeIdx = 0;      // indexing nodes throughout all polyhedra
       vtkNew<vtkCellArray> faces; // cell array describing a vtkPolyhedron
       // yyy end
 
@@ -3409,7 +3409,7 @@ int vtkEnSightGoldBinaryReader::ReadFloat(float* result)
 
 // Internal function to read an integer array.
 // Returns zero if there was an error.
-int vtkEnSightGoldBinaryReader::ReadIntArray(int* result, int numInts)
+int vtkEnSightGoldBinaryReader::ReadIntArray(int* result, vtkIdType numInts)
 {
   if (numInts <= 0)
   {
diff --git a/IO/EnSight/vtkEnSightGoldBinaryReader.h b/IO/EnSight/vtkEnSightGoldBinaryReader.h
index b721dc55345d3a1a86afc8c1adb7ec33d0520e25..65a930049eca562903e9b0ff1b32da93452a3eee 100644
--- a/IO/EnSight/vtkEnSightGoldBinaryReader.h
+++ b/IO/EnSight/vtkEnSightGoldBinaryReader.h
@@ -177,7 +177,7 @@ protected:
    * Internal function to read in an integer array.
    * Returns zero if there was an error.
    */
-  int ReadIntArray(int* result, int numInts);
+  int ReadIntArray(int* result, vtkIdType numInts);
 
   /**
    * Internal function to read in a single long.