If this is only for putForExternalRead, shouldn't you check that the context has the PFER flag in it?