diff --git a/Common/Core/CMakeLists.txt b/Common/Core/CMakeLists.txt
index af52dd0e137ac4ec0fa7e85dabdc4cec10a94a27..07dbd67c6ed6dbcd372010b964409dda7e10679b 100644
--- a/Common/Core/CMakeLists.txt
+++ b/Common/Core/CMakeLists.txt
@@ -290,6 +290,7 @@ set(${vtk-module}_HDRS
   vtkAtomicTypes.h
   vtkAutoInit.h
   vtkDataArrayIteratorMacro.h
+  vtkDataArrayTemplate.h
   vtkGenericDataArray.h
   vtkGenericDataArrayLookupHelper.h
   vtkGenericDataArray.txx
@@ -687,6 +688,7 @@ set_source_files_properties(
 )
 
 set_source_files_properties(
+  vtkDataArrayTemplate.h
   vtkDenseArray.h
   vtkSparseArray.h
   vtkTypedArray.h
diff --git a/Common/Core/Testing/Cxx/CMakeLists.txt b/Common/Core/Testing/Cxx/CMakeLists.txt
index b76aced570cd3b3739f0098d36be34190bfd4e48..8c30e1215995db606636c17ea96b8ca0ea6701d2 100644
--- a/Common/Core/Testing/Cxx/CMakeLists.txt
+++ b/Common/Core/Testing/Cxx/CMakeLists.txt
@@ -14,6 +14,16 @@ function(add_data_array_test test_name array_header array_valuetype array_type)
   set(data_array_tests ${data_array_tests} "${test_source}.cxx" PARENT_SCOPE)
 endfunction()
 
+# Legacy -- test that the vtkDataArrayTemplate interface still works:
+if(NOT VTK_LEGACY_REMOVE)
+  add_data_array_test(
+    vtkDataArrayTemplate_LEGACY
+    vtkDataArrayTemplate.h
+    float
+    vtkDataArrayTemplate<float>
+  )
+endif()
+
 # Non-templated classes:
 add_data_array_test(vtkCharArray vtkCharArray.h "char" vtkCharArray)
 add_data_array_test(vtkDoubleArray vtkDoubleArray.h "double" vtkDoubleArray)
diff --git a/Common/Core/vtkDataArrayTemplate.h b/Common/Core/vtkDataArrayTemplate.h
new file mode 100644
index 0000000000000000000000000000000000000000..1c52db74fc3f64306ab92f3106b225bbe1a8d23f
--- /dev/null
+++ b/Common/Core/vtkDataArrayTemplate.h
@@ -0,0 +1,51 @@
+/*=========================================================================
+
+  Program:   Visualization Toolkit
+  Module:    vtkDataArrayTemplate.h
+
+  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
+  All rights reserved.
+  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notice for more information.
+
+=========================================================================*/
+// .NAME vtkDataArrayTemplate
+// .SECTION Description
+// vtkDataArrayTemplate is deprecated, use vtkAOSDataArrayTemplate instead.
+
+#ifndef vtkDataArrayTemplate_h
+#define vtkDataArrayTemplate_h
+
+#include "vtkAOSDataArrayTemplate.h"
+
+#ifndef VTK_LEGACY_REMOVE
+
+template <typename ValueType>
+class vtkDataArrayTemplate : public vtkAOSDataArrayTemplate<ValueType>
+{
+public:
+  vtkTemplateTypeMacro(vtkDataArrayTemplate<ValueType>,
+                       vtkAOSDataArrayTemplate<ValueType>)
+
+  static vtkDataArrayTemplate<ValueType>* New()
+  {
+    VTK_STANDARD_NEW_BODY(vtkDataArrayTemplate<ValueType>);
+  }
+
+protected:
+  vtkDataArrayTemplate() {}
+  ~vtkDataArrayTemplate() {}
+
+private:
+  vtkDataArrayTemplate(const vtkDataArrayTemplate&); // Not implemented.
+  void operator=(const vtkDataArrayTemplate&); // Not implemented.
+};
+
+#endif // VTK_LEGACY_REMOVE
+
+#endif // vtkDataArrayTemplate_h
+
+// VTK-HeaderTest-Exclude: vtkDataArrayTemplate.h