diff --git a/Common/DataModel/CMakeLists.txt b/Common/DataModel/CMakeLists.txt
index 98631ffbe1e91a7df003d7438b1ee55f8cbc2aca..959b489c0c49088c0a589be3e87c0c599e05249f 100644
--- a/Common/DataModel/CMakeLists.txt
+++ b/Common/DataModel/CMakeLists.txt
@@ -315,9 +315,12 @@ set(private_templates
 include(vtkTypeLists)
 
 set(instantiation_sources)
-foreach (_type IN LISTS vtk_numeric_types)
-  set(INSTANTIATION_VALUE_TYPE "${_type}")
-  vtk_type_to_camel_case("${_type}" _cased_type)
+foreach (INSTANTIATION_VALUE_TYPE IN LISTS vtk_numeric_types)
+  # only instantiate fundamental types, not typedefs
+  if (INSTANTIATION_VALUE_TYPE STREQUAL "vtkIdType")
+    continue()
+  endif ()
+  vtk_type_to_camel_case("${INSTANTIATION_VALUE_TYPE}" _cased_type)
   configure_file(
     "${CMAKE_CURRENT_SOURCE_DIR}/vtkDataObjectImplicitBackendInstantiate.cxx.in"
     "${CMAKE_CURRENT_BINARY_DIR}/vtkDataObjectImplicitBackendInstantiate${_cased_type}.cxx")