If the file named by the value of option `eshell-history-file-name' is a symbolic link, then it will be replaced and overwritten instead. It should be dereferenced (followed) first, and its target file should be replaced and overwritten. The attached patch uses function `file-truename' to fix this. The patch was made using source cloned from git savannah HEAD today, which I think is version 26.1.90, based on ChangeLog.3 in the cloned repo. In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5) of 2017-09-12 on hullmann, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11604000 System Description: LMDE 2 Betsy -- Phil Hudson http://hudson-it.ddns.net Pretty Good Privacy (PGP) ID: 0x4E482F85