diff --git a/GNUmakefile b/GNUmakefile
index ced341b221079b2a70b18085af7eac119f02174c..56c9b119b7a5bef49f8ce5f730bb5b68ca3e3cce 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -6,7 +6,7 @@ PREFIX?=/usr/local
 BINDIR=${DESTDIR}${PREFIX}/bin
 UDEVDIR=${DESTDIR}/usr/lib/udev/rules.d
 SYSTEMDDIR=${DESTDIR}/usr/lib/systemd
-SYSTEMD_SYSTEM_DIR=${SYSTEMDDIR}/system
+SYSTEMD_SYSTEM_DIR=${DESTDIR}/lib/systemd/system
 SYSTEMD_NETWORK_DIR=${SYSTEMDDIR}/network
 SHARE_DIR=${DESTDIR}/${PREFIX}/share/${pkgname}
 
diff --git a/lib/lib.sh b/lib/lib.sh
index 3a82e288100cb9a396758e9d7138d97f32eaaa74..336fa25417bcae82886b16126c7a9efb246e0602 100644
--- a/lib/lib.sh
+++ b/lib/lib.sh
@@ -492,10 +492,14 @@ register_networkd_reloader() {
         cnt+=1
         mkdir -p "$lockdir"
         trap 'debug "Called trap" ; maybe_reload_networkd' EXIT
-        # If the redirect fails, most likely because the target file
-        # already exists and -o noclobber is in effect, $? will be set
-        # nonzero.  If it succeeds, it is set to 0
         echo $$ > "${lockfile}"
+	# Shellcheck would warn about the following line, with "This
+	# $? refers to echo/printf, not a previous command. Assign to
+	# variable to avoid it being overwritten."  We actually want
+	# echo's exit code, since it will be nonzero if the redirect
+	# fails (that is, if somebody else deleted $lockdir before we
+	# got to put a file there)
+	# shellcheck disable=SC2320
         registered=$?
         [ $registered -eq 0 ] && break
         sleep 0.1
