diff --git a/docs/dev/hardware.rst b/docs/dev/hardware.rst
index bde57f329b9303f372944f453098d5bb135a6900..4985fa444d4509e44c2062a4de92bb36bd68aa65 100644
--- a/docs/dev/hardware.rst
+++ b/docs/dev/hardware.rst
@@ -31,14 +31,14 @@ can work::
 
     lua -e 'print(require("platform_info").get_image_name())'
 
-While porting Gluon to a new device, it might happen that the profile name is un-
-known. Best practise is to generate an image first by using an arbitrary value
+While porting Gluon to a new device, it might happen that the profile name is
+unknown. Best practise is to generate an image first by using an arbitrary value
 and then executing the lua command on the device and use its output from then on.
 
 The second parameter defines the name of the image files generated by OpenWrt. Usually,
 it is also the OpenWrt profile name; for devices that still use the old image build
 code, a third parameter with the OpenWrt profile name can be passed. The profile names
-can be found in the image Makefiles in ``lede/target/linux/<target>/image/Makefile``.
+can be found in the image Makefiles in ``openwrt/target/linux/<target>/image/Makefile``.
 
 Examples::
 
diff --git a/docs/dev/site_library.rst b/docs/dev/site_library.rst
index 991e3cb5237764b3786e379a77c09c751dbe6d12..eaac97fb5ee7d7361bb34dbf299cf098045c8156 100644
--- a/docs/dev/site_library.rst
+++ b/docs/dev/site_library.rst
@@ -11,7 +11,7 @@ from Lua scripts. Example:
 
 The *site* object in this example does not directly represent the *site.conf* data structure;
 instead, it is wrapped in a way that makes it more convenient to access deeply nested elements.
-To access the the underlying values, they must be unwrapped using the function call notation
+To access the underlying values, they must be unwrapped using the function call notation
 (the ``()`` after ``site.wifi24.ap.ssid`` in the example).
 
 The wrapper objects have two advantages over simple Lua tables:
diff --git a/docs/dev/wan.rst b/docs/dev/wan.rst
index 9742bf2b78456fbc09eb6ecb09279612aaf44c05..86455e915b2d8418f70f3f5aaa555cb86a6a3cdf 100644
--- a/docs/dev/wan.rst
+++ b/docs/dev/wan.rst
@@ -5,7 +5,7 @@ As the WAN port of a node will be connected to a user's private network, it
 is essential that the node only uses the WAN when it is absolutely necessary.
 There are two cases in which the WAN port is used:
 
-* Mesh VPN (package ``gluon-mesh-vpn-fastd``
+* Mesh VPN (package ``gluon-mesh-vpn-fastd``)
 * DNS to resolve the VPN servers' addresses (package ``gluon-wan-dnsmasq``)
 
 After the VPN connection has been established, the node should be able to reach
diff --git a/docs/dev/web/controller.rst b/docs/dev/web/controller.rst
index 9bea74eb34e8ee88433bce9c18199149497854a6..3f63ef01a46c431e570c1a8675712d9ef37e402f 100644
--- a/docs/dev/web/controller.rst
+++ b/docs/dev/web/controller.rst
@@ -71,7 +71,7 @@ Useful functions:
     values for the given key.
   - *status* (*code*, *message*): Writes the HTTP status to the reply. Has no effect
     if a status has already been sent or non-header data has been written.
-  - *header* (*key*, *value*): Adds an HTTP header to the reply to be sent to to
+  - *header* (*key*, *value*): Adds an HTTP header to the reply to be sent to
     the client. Has no effect when non-header data has already been written.
   - *prepare_content* (*mime*): Sets the *Content-Type* header to the given MIME
     type, potentially setting additional headers or modifying the MIME type to
diff --git a/docs/features/autoupdater.rst b/docs/features/autoupdater.rst
index 840563a732c7bbd40493aa2e5f7d33f9748ac766..014ee59f55a5eecd760c72457bd21a65fda748f5 100644
--- a/docs/features/autoupdater.rst
+++ b/docs/features/autoupdater.rst
@@ -39,8 +39,8 @@ A fully automated nightly build could use the following commands:
     make update
     make clean GLUON_TARGET=ar71xx-generic
     NUM_CORES_PLUS_ONE=$(expr $(nproc) + 1)
-    make -j$NUM_CORES_PLUS_ONE GLUON_TARGET=ar71xx-generic GLUON_BRANCH=experimental
-    make manifest GLUON_BRANCH=$GLUON_BRANCH GLUON_RELEASE=$GLUON_RELEASE
+    make -j$NUM_CORES_PLUS_ONE GLUON_TARGET=ar71xx-generic GLUON_BRANCH=experimental GLUON_RELEASE=$GLUON_RELEASE
+    make manifest GLUON_BRANCH=experimental GLUON_RELEASE=$GLUON_RELEASE
     contrib/sign.sh $SECRETKEY output/images/sysupgrade/experimental.manifest
 
     rm -rf /where/to/put/this/experimental
diff --git a/docs/features/configmode.rst b/docs/features/configmode.rst
index a6e8d9bab1eb7b2954ccecab425a71bde5eb4e34..2a09ecd8e1ebdcb52a6323c06cec2261504adb41 100644
--- a/docs/features/configmode.rst
+++ b/docs/features/configmode.rst
@@ -15,7 +15,7 @@ Activating Config Mode
 
 Config Mode is automatically entered at the first boot. You can re-enter
 Config Mode by pressing and holding the RESET/WPS button for about three
-seconds. The device should reboot (all LEDs will turn of briefly) and 
+seconds. The device should reboot (all LEDs will turn off briefly) and
 Config Mode will be available.
 
 
diff --git a/docs/features/multidomain.rst b/docs/features/multidomain.rst
index 107c83d30536ac554c8ac876e2cb2b26c2c802a3..825b37a3a11218d1fbdfb2186b01b95e691f0538 100644
--- a/docs/features/multidomain.rst
+++ b/docs/features/multidomain.rst
@@ -161,7 +161,7 @@ site.conf only variables
 
    -  mesh_vpn.fastd.syslog_level
    -  wifi*.supported_rates
-   -  wifi*.basic_rates
+   -  wifi*.basic_rate
    -  timezone
    -  regdom
 
diff --git a/docs/features/private-wlan.rst b/docs/features/private-wlan.rst
index c047f8ae13f39fb023189b030154ddc018ae1793..57b18fddae32f2d99b878d8059e606903d454385 100644
--- a/docs/features/private-wlan.rst
+++ b/docs/features/private-wlan.rst
@@ -19,7 +19,7 @@ You may also enable a private WLAN using the command line::
   uci set wireless.wan_radio$RID.ssid="$SSID"
   uci set wireless.wan_radio$RID.key="$KEY"
   uci set wireless.wan_radio$RID.disabled=0
-  uci set wireless.wan_radio$RID.macaddr="$($(echo "lua -e print(require('gluon.util').generate_mac(3+4*$RID))"))"
+  uci set wireless.wan_radio$RID.macaddr=$(lua -e "print(require('gluon.util').generate_mac(3+4*$RID))")
   uci commit
   wifi
 
diff --git a/docs/user/getting_started.rst b/docs/user/getting_started.rst
index 90d4d49a137570b9d28e9edd6b8f3148b75269a9..80568a424c1f970e9d24c7d82a014bba056b6078 100644
--- a/docs/user/getting_started.rst
+++ b/docs/user/getting_started.rst
@@ -186,9 +186,6 @@ GLUON_TARGET
 Special variables
 .................
 
-GLUON_BUILDDIR
-  Working directory during build. Defaults to ``build``.
-
 GLUON_IMAGEDIR
   Path where images will be stored. Defaults to ``$(GLUON_OUTPUTDIR)/images``.
 
diff --git a/docs/user/site.rst b/docs/user/site.rst
index cd5aa744902ec73738a38a3a3d4d9d813d8a6690..50fe03b971aa14b34d679b03d28eca89a21022ae 100644
--- a/docs/user/site.rst
+++ b/docs/user/site.rst
@@ -69,7 +69,7 @@ timezone
       -- Europe/Berlin
       timezone = 'CET-1CEST,M3.5.0,M10.5.0/3'
 
-ntp_server
+ntp_servers
     List of NTP servers available in your community or used by your community, e.g.:
     ::
 
@@ -661,7 +661,7 @@ Site modules
 The file ``modules`` in the site repository is completely optional and can be used
 to supply additional package feeds from which packages are built. The git repositories
 specified here are retrieved in addition to the default feeds when ``make update``
-it called.
+is called.
 
 This file's format is very similar to the toplevel ``modules`` file of the Gluon
 tree, with the important different that the list of feeds must be assigned to
diff --git a/docs/user/x86.rst b/docs/user/x86.rst
index a65edfcc7f6524299f348fc3990f3e37de06f59d..0aadee43490c2d5b614f2053669eca07699f9f3f 100644
--- a/docs/user/x86.rst
+++ b/docs/user/x86.rst
@@ -19,8 +19,8 @@ The following targets for x86 images exist:
     * `virtualbox` (VDI image)
     * `vmware` (VMDK image)
 
-    These images only differ in the image file format, the content is the same. Therefore there is
-    only a single `x86-generic` sysupgrade image instead of three.
+    These images differ in the image file format, the content is the same. Therefore
+    a single `x86-generic` sysupgrade image is provided, only.
 
 `x86-geode`
     x86 image for Geode CPUs.