diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1cd810800092b80c4ef0ebea344d589ac6d54e9c..b926e54428453811f51861729081e19326b460dd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,14 +1,7 @@
 # This file creates automated tests on GitLab CI for Purr Data.
 # See https://docs.gitlab.com/ee/ci/yaml/README.html for details of the format.
 
-cache:
-  key: global-cache
-
 # These are script snippets used in the jobs defined below.
-.fetch_nwjs: &fetch_nwjs
-  - nwjs_filename=$(l2ork_addons/nwjs_version_for_platform.sh)
-  - if [ -e /cache/$nwjs_filename ]; then cp /cache/$nwjs_filename ./l2ork_addons ; fi
-
 .debian_image_preparation: &debian_image_preparation
   - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
   - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
@@ -19,7 +12,6 @@ cache:
   - cd l2ork_addons
   - export V=0
   - ./tar_em_up.sh $BUILD_TYPE_FLAG
-  - cp nwjs-* /cache/
   - cd ..
   - echo -e "section_end:`date +%s`:build_all\r\e[0K"
 
@@ -54,7 +46,6 @@ debian_stretch_x86_64_deb:
      BUILD_TYPE_FLAG: -B
    before_script:
      - *debian_image_preparation
-     - *fetch_nwjs
    script:
      - *build_all
      - *test_linux
@@ -73,7 +64,6 @@ ubuntu_16.04_x86_64_deb:
      BUILD_TYPE_FLAG: -B
    before_script:
      - *debian_image_preparation
-     - *fetch_nwjs
    script:
      - *build_all
      - *test_linux
@@ -90,8 +80,6 @@ osx_10.11_x86_64_dmg:
      - dmg
    variables:
      BUILD_TYPE_FLAG: -X
-   before_script:
-     - *fetch_nwjs
    script:
      - echo `pwd`
      - *build_all
@@ -109,8 +97,6 @@ osx_10.8_x86_64_dmg:
      - dmg
    variables:
      BUILD_TYPE_FLAG: -X
-   before_script:
-     - *fetch_nwjs
    script:
      - echo `pwd`
      - *build_all
@@ -127,8 +113,6 @@ windows_i386_innosetup:
     - i386
   variables:
     BUILD_TYPE_FLAG: -Z
-  before_script:
-     - *fetch_nwjs
   script:
     - echo `pwd`
     - *build_all
@@ -148,7 +132,6 @@ raspbian_stretch_armv7l_deb:
      BUILD_TYPE_FLAG: -r
    before_script:
      - *debian_image_preparation
-     - *fetch_nwjs
    script:
      - echo `pwd`
      - *build_all
diff --git a/l2ork_addons/nwjs_version_for_platform.sh b/l2ork_addons/nwjs_version_for_platform.sh
deleted file mode 100755
index 285618f192079616314a496d2a0f4718e37d5d5a..0000000000000000000000000000000000000000
--- a/l2ork_addons/nwjs_version_for_platform.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-# nwjs_version_for_platform.sh
-#
-# Determine the version of nw.js that Purr Data should use on a given platform.
-#
-# Variables "$os" and "$arch" can be set in the environment, or autodetected.
-
-set -e
-
-if [ -z "$os" ]; then
-	os=`uname | tr '[:upper:]' '[:lower:]'`
-	if [[ $os == *"mingw32"* ]]; then
-		os=win
-	elif [[ $os == "darwin" ]]; then
-		os=osx
-	fi
-fi
-
-if [ -z "$arch" ]; then
-	if [ `getconf LONG_BIT` -eq 32 ]; then
-		arch="ia32"
-	else
-		arch="x64"
-	fi
-
-	# for rpi
-	if [ `uname -m` == "armv7l" ]; then
-		arch="armv7l"
-	fi
-
-	# for pinebook, probably also rpi 4
-	if [ `uname -m` == "aarch64" ]; then
-		arch="armv7l"
-	fi
-fi
-
-# MSYS: Pick the right architecture depending on whether we're
-# running in the 32 or 64 bit version of the MSYS shell.
-if [[ $os == "win" ]]; then
-	arch="ia32"
-elif [[ $os == "win64" ]]; then
-	arch="x64"
-fi
-
-if [[ $os == "win" || $os == "win64" || $os == "osx" ]]; then
-	ext="zip"
-else
-	ext="tar.gz"
-fi
-
-if [[ $osx_version == "10.8" ]]; then
-	# We need the lts version to be able to run on legacy systems.
-	nwjs_version="v0.14.7"
-else
-	# temporary kluge for rpi-- only 0.15.1 is available atm
-	if [ $arch == "armv7l" ]; then
-		nwjs_version="v0.17.6"
-	else
-		nwjs_version="v0.24.4"
-	fi
-fi
-
-nwjs="nwjs-sdk"
-if [[ $os == "win64" ]]; then
-	nwjs_dirname=${nwjs}-${nwjs_version}-win-${arch}
-else
-	nwjs_dirname=${nwjs}-${nwjs_version}-${os}-${arch}
-fi
-nwjs_filename=${nwjs_dirname}.${ext}
-
-echo $nwjs_filename
diff --git a/l2ork_addons/tar_em_up.sh b/l2ork_addons/tar_em_up.sh
index 79e957a972995373c26247d3289e429c7b5dbb56..25d82f2d45051083373db30ca5e3f8b5fc7e4dfb 100755
--- a/l2ork_addons/tar_em_up.sh
+++ b/l2ork_addons/tar_em_up.sh
@@ -105,7 +105,6 @@ do case $Option in
 	esac
 done
 
-script_dir=$(dirname $0)
 inst_dir=${inst_dir:-/usr/local}
 
 # configure a light build if requested
@@ -164,42 +163,82 @@ fi
 
 # Fetch the nw.js binary if we haven't already. We want to fetch it even
 # for building with no libs, so we do it regardless of the options
+#echo nwjs-sdk-v0.16.0-`uname | tr '[:upper:]' '[:lower:]'`
 if [ ! -d "../pd/nw/nw" ]; then
-	nwjs_filename=$($script_dir/nwjs_version_for_platform.sh)
+	if [ `getconf LONG_BIT` -eq 32 ]; then
+		arch="ia32"
+	else
+		arch="x64"
+	fi
+
+	# for rpi
+	if [ `uname -m` == "armv7l" ]; then
+		arch="armv7l"
+	fi
+
+	# for pinebook, probably also rpi 4
+	if [ `uname -m` == "aarch64" ]; then
+		arch="armv7l"
+	fi
 
-	if [ -e "./$nwjs_filename" ]; then
-		echo "Found $nwjs_filename"
+	# MSYS: Pick the right architecture depending on whether we're
+	# running in the 32 or 64 bit version of the MSYS shell.
+	if [[ $os == "win" ]]; then
+		arch="ia32"
+	elif [[ $os == "win64" ]]; then
+		arch="x64"
+	fi
+	if [[ $os == "win" || $os == "win64" || $os == "osx" ]]; then
+		ext="zip"
 	else
-		nwjs_version=$(echo $nwjs_filename | egrep -o 'v[^-]+')
-		nwjs_url=https://git.purrdata.net/jwilkes/nwjs-binaries/raw/master
-		nwjs_url=${nwjs_url}/$nwjs_filename
-		echo "Fetching the nwjs binary from"
-		echo "$nwjs_url"
-		if ! wget -nv $nwjs_url; then
-			nwjs_url=https://dl.nwjs.io/${nwjs_version}/$nwjs_filename
-			echo "Fetching the nwjs binary from"
-			echo "$nwjs_url"
-			wget -nv $nwjs_url
+		ext="tar.gz"
+	fi
+
+	if [[ $osx_version == "10.8" ]]; then
+		# We need the lts version to be able to run on legacy systems.
+		nwjs_version="v0.14.7"
+	else
+		# temporary kluge for rpi-- only 0.15.1 is available atm
+		if [ $arch == "armv7l" ]; then
+			nwjs_version="v0.17.6"
+		else
+			nwjs_version="v0.24.4"
 		fi
 	fi
 
+	nwjs="nwjs-sdk"
+	if [[ $os == "win64" ]]; then
+		nwjs_dirname=${nwjs}-${nwjs_version}-win-${arch}
+	else
+		nwjs_dirname=${nwjs}-${nwjs_version}-${os}-${arch}
+	fi
+	nwjs_filename=${nwjs_dirname}.${ext}
+	nwjs_url=https://git.purrdata.net/jwilkes/nwjs-binaries/raw/master
+	nwjs_url=${nwjs_url}/$nwjs_filename
+	echo "Fetching the nwjs binary from"
+	echo "$nwjs_url"
+	if ! wget -nv $nwjs_url; then
+		nwjs_url=https://dl.nwjs.io/${nwjs_version}/$nwjs_filename
+		echo "Fetching the nwjs binary from"
+		echo "$nwjs_url"
+		wget -nv $nwjs_url
+	fi
 	if [[ $os == "win" || $os == "win64" || $os == "osx" ]]; then
 		unzip $nwjs_filename
-		nwjs_dirname=$(basename --suffix=.zip $nwjs_filename)
 	else
 		tar -xf $nwjs_filename
-		nwjs_dirname=$(basename --suffix=.tar.gz $nwjs_filename)
 	fi
 	# Special case for arm binary's inconsistent directory name
 	# (It's not the same as the `uname -m` output)
-	if echo $nwjs_filename | grep -q armv7l ; then
+	if [ $arch == "armv7l" ]; then
 		nwjs_dirname=`echo $nwjs_dirname | sed 's/armv7l/arm/'`
 	fi
-	mv $nwjs_dirname ../pd/nw/nw
+        mv $nwjs_dirname ../pd/nw/nw
 	# make sure the nw binary is executable on GNU/Linux
 	if [[ $os != "win" && $dmg == 0 ]]; then
 		chmod 755 ../pd/nw/nw/nw
 	fi
+	rm $nwjs_filename
 fi
 
 # For Windows, fetch the ASIO SDK if we don't have it already