diff --git a/Filters/FlowPaths/vtkVectorFieldTopology.cxx b/Filters/FlowPaths/vtkVectorFieldTopology.cxx
index 35b07ae5694364af9010f8c55d2c634a951dd501..45a450c5ae5bc49608e6fc8300d31dde4185c0f6 100644
--- a/Filters/FlowPaths/vtkVectorFieldTopology.cxx
+++ b/Filters/FlowPaths/vtkVectorFieldTopology.cxx
@@ -23,6 +23,7 @@
 #include <vtkInformationVector.h>
 #include <vtkIntersectionPolyDataFilter.h>
 #include <vtkLine.h>
+#include <vtkLongLongArray.h>
 #include <vtkMath.h>
 #include <vtkMatrix3x3.h>
 #include <vtkNew.h>
@@ -1699,7 +1700,7 @@ int vtkVectorFieldTopology::RemoveBoundary(vtkSmartPointer<vtkUnstructuredGrid>
   }
 
   // mark all points whose ids appear in the surface
-  vtkNew<vtkDoubleArray> isBoundary;
+  vtkNew<vtkLongLongArray> isBoundary;
   isBoundary->SetNumberOfTuples(tridataset->GetNumberOfPoints());
   isBoundary->SetName("isBoundary");
   tridataset->GetPointData()->AddArray(isBoundary);