diff -urN coreutils-8.21-alt1/src/ln.c coreutils-8.21-alt1.ln/src/ln.c --- coreutils-8.21-alt1/src/ln.c 2013-04-07 13:53:17.000000000 +0300 +++ coreutils-8.21-alt1.ln/src/ln.c 2013-06-26 19:32:56.000000000 +0300 @@ -137,7 +137,7 @@ char *targetdir = dir_name (target); char *realdest = canonicalize_filename_mode (targetdir, CAN_MISSING); - char *realfrom = canonicalize_filename_mode (from, CAN_MISSING); + char *realfrom = canonicalize_filename_mode (from, logical ? CAN_MISSING : CAN_MISSING | CAN_NOLINKS); /* Write to a PATH_MAX buffer. */ char *relative_from = xmalloc (PATH_MAX);