diff --git a/CRM/Core/Invoke.php b/CRM/Core/Invoke.php index 1255fd328595..c2d8d5ac7162 100644 --- a/CRM/Core/Invoke.php +++ b/CRM/Core/Invoke.php @@ -379,6 +379,10 @@ public static function rebuildMenuAndCaches(bool $triggerRebuild = FALSE, bool $ $config = CRM_Core_Config::singleton(); $config->clearModuleList(); + // dev/core#3660 - Activate any new classloaders/mixins/etc before re-hydrating any data-structures. + CRM_Extension_System::singleton()->getClassLoader()->refresh(); + CRM_Extension_System::singleton()->getMixinLoader()->run(TRUE); + // also cleanup all caches $config->cleanupCaches($sessionReset || CRM_Utils_Request::retrieve('sessionReset', 'Boolean', CRM_Core_DAO::$_nullObject, FALSE, 0, 'GET'));