I think this issue is the same as reported here: https://lists.debian.org/debian-user/2015/03/msg00287.html The kernel.hostname sysctl is set without domain: -->-- dg-linux:~ # sysctl -a | grep hostname kernel.hostname = dg-linux --<-- This is then used as the transient hostname by systemd. The hostname call is correcting this: -->-- dg-linux:~ # hostname -F /etc/hostname dg-linux:~ # sysctl -a | grep hostname kernel.hostname = dg-linux.golden-consulting.com --<-- It is also corrected when you remove the transient hostname via: hostnamectl --transient set-hostname "" This will then use the correct static hostname. The question is, what is setting kernel.hostname to the wrong value?