Icinga dependency

Iam facing a issue related to dependency. I have parent-child dependency relationships defined for a host via following snippet

apply Dependency “parent” to Host {
parent_host_name = host.vars.parent
child_host_name = host.name
ignore_soft_states = false
disable_checks = false
disable_notifications = true
assign where host.name != “” && host.vars.parent && get_host(host.vars.parent)
}

The issue is when parent goes down, as expected I do not get email notification for descendants and their state is changed to ‘Unreachable’. But when parent comes up, I get email notification for descendants first that they are down and immediately within few seconds that they are up.

I experimented a bit and found the issue was that when parent is down the check is performed for descendant (as I guess disable_checks is set to false). In hard state I check every 4 minutes if node is up. Now if parent comes up as time X and check for a descendant is scheduled at X + 30 secs, Icinga will instead check a descendant at X + 5 and X + 30 as well. At X + 5 it will declare that descendant is down and at X + 30, it will declare that a descendant is up, so I get two emails for a descendant that it is down and up within a space of 25 seconds.

What setting am I missing and how to rectify my problem? (Note: I tried setting disable_checks to true, but that causes other problems)