touch -c behaves incorrectly (non-POSIX)

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439033 POSIX says about ‘touch'[*]: -c Do not create a specified file if it does not exist. Do not write any diagnostic messages concerning this condition. [*] http://www.opengroup.org/onlinepubs/009695399/utilities/touch.html But under some conditions, ‘touch’ writes a diagnostic message when the file doesn’t exist. For instance: vin:~> mkdir dir vin:~> chmod 000 dir vin:~> /usr/bin/touch -c dir/file …