diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 8e3a1ae25491738dd3031bb6fee4ec08d886dd13..9d9aaf4b886ee31f28ff065b785177aaa16ee048 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1124,7 +1124,6 @@ void cmGlobalGenerator::Configure()
   // now do it
   this->ConfigureDoneCMP0026 = false;
   dirMf->Configure();
-  this->CreateLocalGenerators();
   dirMf->EnforceDirectoryLevelRules();
 
   this->ConfigureDoneCMP0026 = true;
@@ -1186,6 +1185,7 @@ void cmGlobalGenerator::Configure()
 
 void cmGlobalGenerator::CreateGenerationObjects(TargetTypes targetTypes)
 {
+  this->CreateLocalGenerators();
   cmDeleteAll(this->GeneratorTargets);
   this->GeneratorTargets.clear();
   this->CreateGeneratorTargets(targetTypes);