diff --git a/loader/loader.c b/loader/loader.c
index d5dcf8d..b9f315e 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1014,6 +1014,8 @@
                 const VkLayerDispatchTable **disp;
                 disp = (const VkLayerDispatchTable **) gpus[i];
                 *disp = icd->loader_dispatch + i;
+                loader_activate_layers(icd, i, ptr_instance->extension_count,
+                        (const char *const*) ptr_instance->extension_names);
             }
 
             count += n;
diff --git a/vk-generate.py b/vk-generate.py
index c25f254..464cff6 100755
--- a/vk-generate.py
+++ b/vk-generate.py
@@ -159,16 +159,6 @@
                 func.append("    VkResult res;")
             func.append("")
 
-            # active layers before dispatching CreateDevice
-            if proto.name == "CreateDevice":
-                func.append("    {")
-                func.append("        uint32_t gpu_index;")
-                func.append("        struct loader_icd *icd = loader_get_icd((const VkBaseLayerObject *) gpu, &gpu_index);")
-                func.append("        loader_activate_layers((void *) icd, gpu_index, %s->extensionCount, %s->ppEnabledExtensionNames);"
-                        % (proto.params[1].name, proto.params[1].name))
-                func.append("    }")
-                func.append("")
-
             # get dispatch table and unwrap GPUs
             for param in proto.params:
                 stmt = ""
