diff --git a/.gitignore b/.gitignore
index bd66cabef24c8f3e92f1c1617d333422ffe7af31..8a7e99d0676babad56fdcb61930e7c1c0ed690d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,8 +106,8 @@ Makefile.in
 # /src/nix-store/
 /src/nix-store/nix-store
 
-# /src/nix-worker/
-/src/nix-worker/nix-worker
+# /src/nix-daemon/
+/src/nix-daemon/nix-daemon
 
 # /tests/
 /tests/test-tmp
diff --git a/configure.ac b/configure.ac
index 4b13ba276e3b46b9179d27156adb99bb0787bf2b..11a5390fa44c4b9bb28647519e4332ec58e67768 100644
--- a/configure.ac
+++ b/configure.ac
@@ -364,7 +364,7 @@ AC_CONFIG_FILES([Makefile
    src/libexpr/Makefile
    src/nix-instantiate/Makefile
    src/nix-env/Makefile
-   src/nix-worker/Makefile
+   src/nix-daemon/Makefile
    src/nix-setuid-helper/Makefile
    src/nix-log2xml/Makefile
    src/bsdiff-4.3/Makefile
diff --git a/doc/manual/Makefile.am b/doc/manual/Makefile.am
index 42da3c8b0c09e073b649b191dd7c28886c920e99..eedc992a38515cd53159f6a59e5b1beeee5d42de 100644
--- a/doc/manual/Makefile.am
+++ b/doc/manual/Makefile.am
@@ -23,7 +23,7 @@ man1_MANS = nix-env.1 nix-build.1 nix-store.1 nix-instantiate.1 \
 
 man5_MANS = nix.conf.5
 
-man8_MANS = nix-worker.8
+man8_MANS = nix-daemon.8
 
 FIGURES = figures/user-environments.png
 
diff --git a/doc/manual/env-common.xml b/doc/manual/env-common.xml
index c4c0f9d2df639b9b7b19b7e21e8b80fc569a026e..fcdd2c268399b90be35a33140e2b90965795d19a 100644
--- a/doc/manual/env-common.xml
+++ b/doc/manual/env-common.xml
@@ -304,9 +304,9 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
   <literal>/var/run/nix/remote-stores</literal>.</para>
 
   <para>Note that if you’re building through the <link
-  linkend="sec-nix-worker">Nix daemon</link>, the only setting for
+  linkend="sec-nix-daemon">Nix daemon</link>, the only setting for
   this variable that matters is the one that the
-  <command>nix-worker</command> process uses.  So if you want to
+  <command>nix-daemon</command> process uses.  So if you want to
   change it, you have to restart the daemon.</para></listitem>
 
 </varlistentry>
diff --git a/doc/manual/installation.xml b/doc/manual/installation.xml
index bbcc057f1d04deadad18fe9cdb114a94b8a6acf0..fdab71fc0f373964224ede9621b80bf03ce67fca 100644
--- a/doc/manual/installation.xml
+++ b/doc/manual/installation.xml
@@ -412,11 +412,11 @@ $ chown -R root /nix/store /nix/var/nix</screen>
 
 </para>
 
-<para>The <link linkend="sec-nix-worker">Nix daemon</link> should be
+<para>The <link linkend="sec-nix-daemon">Nix daemon</link> should be
 started as follows (as <literal>root</literal>):
 
 <screen>
-$ nix-worker --daemon</screen>
+$ nix-daemon</screen>
 
 You’ll want to put that line somewhere in your system’s boot
 scripts.</para>
@@ -450,11 +450,11 @@ named anything.  It should own the Nix store and database:
 <screen>
 $ chown -R nix /nix/store /nix/var/nix</screen>
 
-and of course <command>nix-worker --daemon</command> should be started
-under that user, e.g.,
+and of course <command>nix-daemon</command> should be started under
+that user, e.g.,
 
 <screen>
-$ su - nix -c "exec /nix/bin/nix-worker --daemon"</screen>
+$ su - nix -c "exec /nix/bin/nix-daemon"</screen>
 
 </para>
 
diff --git a/doc/manual/manual.xml b/doc/manual/manual.xml
index ccff9423cf172ad27e3330702a9c562f01feaefe..aa461d7081bff77f98f779df4f75421a6b15c107 100644
--- a/doc/manual/manual.xml
+++ b/doc/manual/manual.xml
@@ -59,7 +59,7 @@
       <xi:include href="nix-prefetch-url.xml" />
       <xi:include href="nix-pull.xml" />
       <xi:include href="nix-push.xml" />
-      <xi:include href="nix-worker.xml" />
+      <xi:include href="nix-daemon.xml" />
     </section>
 
     <section>
diff --git a/doc/manual/nix-worker.xml b/doc/manual/nix-daemon.xml
similarity index 78%
rename from doc/manual/nix-worker.xml
rename to doc/manual/nix-daemon.xml
index 5ae9d59bddc779ff297b92b693e79f6b3483dd3e..c68605fd6566fbce48e19ed9e4012fe16e62489b 100644
--- a/doc/manual/nix-worker.xml
+++ b/doc/manual/nix-daemon.xml
@@ -1,24 +1,23 @@
 <refentry xmlns="http://docbook.org/ns/docbook"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:xi="http://www.w3.org/2001/XInclude"
-          xml:id="sec-nix-worker">
+          xml:id="sec-nix-daemon">
 
 <refmeta>
-  <refentrytitle>nix-worker</refentrytitle>
+  <refentrytitle>nix-daemon</refentrytitle>
   <manvolnum>8</manvolnum>
   <refmiscinfo class="source">Nix</refmiscinfo>
   <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo>
 </refmeta>
 
 <refnamediv>
-  <refname>nix-worker</refname>
+  <refname>nix-daemon</refname>
   <refpurpose>Nix multi-user support daemon</refpurpose>
 </refnamediv>
 
 <refsynopsisdiv>
   <cmdsynopsis>
-    <command>nix-worker</command>
-    <arg choice="plain"><option>--daemon</option></arg>
+    <command>nix-daemon</command>
   </cmdsynopsis>
 </refsynopsisdiv>
 
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml
index 43d5080afabdc706ac6f5bd24d86a3ffa1eceb6b..8d0840d06e5f63ec937a30754d29ffcc79c45f69 100644
--- a/doc/manual/release-notes.xml
+++ b/doc/manual/release-notes.xml
@@ -10,7 +10,7 @@
 
 <section xml:id="ssec-relnotes-1.2"><title>Release 1.2 (TBA)</title>
 
-<para>This release has the following improvements:</para>
+<para>This release has the following improvements and changes:</para>
 
 <itemizedlist>
 
@@ -47,6 +47,12 @@ $ mount -o remount,ro,bind /nix/store
     modifications.</para>
   </listitem>
 
+  <listitem>
+    <para>The command <command>nix-worker</command> has been renamed
+    to <command>nix-daemon</command>.  Support for running the Nix
+    worker in “slave” mode has been removed.</para>
+  </listitem>
+
 </itemizedlist>
 
 </section>
diff --git a/misc/systemd/nix-worker.service b/misc/systemd/nix-daemon.service
similarity index 80%
rename from misc/systemd/nix-worker.service
rename to misc/systemd/nix-daemon.service
index 2ededfea80682ae1f899ee1655ee9123e6c652cd..ee28209f090e6d62423f2622e18cbe807f28b9d1 100644
--- a/misc/systemd/nix-worker.service
+++ b/misc/systemd/nix-daemon.service
@@ -4,7 +4,7 @@ After=syslog.target
 
 [Service]
 Type=simple
-ExecStart=/usr/bin/nix-worker --daemon
+ExecStart=/usr/bin/nix-daemon
 
 [Install]
 WantedBy=multi-user.target
diff --git a/nix.spec.in b/nix.spec.in
index 9d93c654d05e87d3a4d3592ddad53ca6456115b2..822684c5e16a0c64c9523ea0c126a6104a9d7b9a 100644
--- a/nix.spec.in
+++ b/nix.spec.in
@@ -139,7 +139,7 @@ chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/nix.sh
 %if ! 0%{?rhel} 
 # install systemd service descriptor
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system
-cp -p misc/systemd/nix-worker.service \
+cp -p misc/systemd/nix-daemon.service \
   $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system/
 %endif
 
@@ -173,8 +173,8 @@ chgrp %{nixbld_group} /nix/store
 chmod 1775 /nix/store
 %if ! 0%{?rhel}
 # Enable and start Nix worker
-systemctl enable nix-worker.service
-systemctl start  nix-worker.service
+systemctl enable nix-daemon.service
+systemctl start  nix-daemon.service
 %endif
 
 %files
@@ -186,7 +186,7 @@ systemctl start  nix-worker.service
 %exclude %dir %{perl_vendorarch}/auto/
 %{_prefix}/libexec/*
 %if ! 0%{?rhel}
-%{_prefix}/lib/systemd/system/nix-worker.service
+%{_prefix}/lib/systemd/system/nix-daemon.service
 %endif
 %{_datadir}/emacs/site-lisp/nix-mode.el
 %{_datadir}/nix
diff --git a/src/Makefile.am b/src/Makefile.am
index 25ae67996b2f5b9405fc00309981635e59061ef8..0ae407c573d12c9d2bf6f0f88aa9c870b9cbfe20 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,3 @@
 SUBDIRS = boost libutil libstore libmain nix-store nix-hash \
- libexpr nix-instantiate nix-env nix-worker nix-setuid-helper \
+ libexpr nix-instantiate nix-env nix-daemon nix-setuid-helper \
  nix-log2xml bsdiff-4.3
diff --git a/src/nix-daemon/Makefile.am b/src/nix-daemon/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..b8e9f4a064ad93c9c751728929ff9aac2753c870
--- /dev/null
+++ b/src/nix-daemon/Makefile.am
@@ -0,0 +1,12 @@
+bin_PROGRAMS = nix-daemon
+
+nix_daemon_SOURCES = nix-daemon.cc
+nix_daemon_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
+ ../boost/format/libformat.la
+
+AM_CXXFLAGS = \
+ -I$(srcdir)/.. -I$(srcdir)/../libutil \
+ -I$(srcdir)/../libstore -I$(srcdir)/../libmain
+
+install-exec-local:
+	ln -sf nix-daemon $(DESTDIR)$(bindir)/nix-worker
diff --git a/src/nix-worker/nix-worker.cc b/src/nix-daemon/nix-daemon.cc
similarity index 98%
rename from src/nix-worker/nix-worker.cc
rename to src/nix-daemon/nix-daemon.cc
index 833fc3518415af724f3cd7af900e9c93da0ac4f9..6256258ec396764a04f3146bca07686296967882 100644
--- a/src/nix-worker/nix-worker.cc
+++ b/src/nix-daemon/nix-daemon.cc
@@ -25,7 +25,7 @@ using namespace nix;
    disconnects and immediately kill any ongoing builds.  On platforms
    that lack it, we only notice the disconnection the next time we try
    to write to the client.  So if you have a builder that never
-   generates output on stdout/stderr, the worker will never notice
+   generates output on stdout/stderr, the daemon will never notice
    that the client has disconnected until the builder terminates. */
 #ifdef O_ASYNC
 #define HAVE_HUP_NOTIFICATION
@@ -677,7 +677,7 @@ static void processConnection()
         /* Prevent users from doing something very dangerous. */
         if (geteuid() == 0 &&
             querySetting("build-users-group", "") == "")
-            throw Error("if you run `nix-worker' as root, then you MUST set `build-users-group'!");
+            throw Error("if you run `nix-daemon' as root, then you MUST set `build-users-group'!");
 #endif
 
         /* Open the store. */
@@ -724,7 +724,7 @@ static void processConnection()
         assert(!canSendStderr);
     };
 
-    printMsg(lvlError, format("%1% worker operations") % opCount);
+    printMsg(lvlError, format("%1% operations") % opCount);
 }
 
 
@@ -858,7 +858,7 @@ static void daemonLoop()
             case 0:
                 try { /* child */
 
-                    /* Background the worker. */
+                    /* Background the daemon. */
                     if (setsid() == -1)
                         throw SysError(format("creating a new session"));
 
@@ -907,8 +907,8 @@ void run(Strings args)
 
 void printHelp()
 {
-    showManPage("nix-worker");
+    showManPage("nix-daemon");
 }
 
 
-string programId = "nix-worker";
+string programId = "nix-daemon";
diff --git a/src/nix-worker/Makefile.am b/src/nix-worker/Makefile.am
deleted file mode 100644
index 6b1b2827cbf74088ce0f923bb3510594a1481fd9..0000000000000000000000000000000000000000
--- a/src/nix-worker/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-bin_PROGRAMS = nix-worker
-
-nix_worker_SOURCES = nix-worker.cc
-nix_worker_LDADD = ../libmain/libmain.la ../libstore/libstore.la ../libutil/libutil.la \
- ../boost/format/libformat.la
-
-AM_CXXFLAGS = \
- -I$(srcdir)/.. -I$(srcdir)/../libutil \
- -I$(srcdir)/../libstore -I$(srcdir)/../libmain
diff --git a/tests/common.sh.in b/tests/common.sh.in
index ee0ddfbb69e60dcaafb46492ea9040479bb71f75..f327ad7276321d5643e8ed6e25b7e754cd00aeac 100644
--- a/tests/common.sh.in
+++ b/tests/common.sh.in
@@ -59,9 +59,9 @@ clearManifests() {
 
 startDaemon() {
     # Start the daemon, wait for the socket to appear.  !!!
-    # ‘nix-worker’ should have an option to fork into the background.
+    # ‘nix-daemon’ should have an option to fork into the background.
     rm -f $NIX_STATE_DIR/daemon-socket/socket
-    nix-worker --daemon &
+    nix-daemon &
     for ((i = 0; i < 30; i++)); do
         if [ -e $NIX_STATE_DIR/daemon-socket/socket ]; then break; fi
         sleep 1