matrix invalidation also needs to be propagated downwards