diff --git a/includes/base.inc b/includes/base.inc index c83a2dfe5..ac7e13c1c 100644 --- a/includes/base.inc +++ b/includes/base.inc @@ -492,6 +492,16 @@ abstract class MigrationBase { if (isset($this->arguments['disable_hooks']) && is_array($this->arguments['disable_hooks'])) { $this->disableHooks = $this->arguments['disable_hooks']; + + // If hooks to disable are given both for this specific migration and its + // group, we need to merge the group settings as they were ignored when + // adding the group arguments above using the += operator. + if (isset($arguments['disable_hooks']) && + isset($group_arguments['disable_hooks']) && + is_array($group_arguments['disable_hooks'])) { + $this->disableHooks = array_merge_recursive($this->disableHooks, + $group_arguments['disable_hooks']); + } } }