restore canUpdate() check