The root of the issue is that compositor is using refresh mechanism to handle recalc. The safest fix which does not require deep refactor is to check to whether node space was tagged for refresh from listener (currently it is listeners which are responsible for tackling compositor tree recalc). Differential Revision: https://developer.blender.org/D14856