diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise
index 1d834109686cd7b62beddf9205db65e9d7a510de..9b61837e6f94c25e76e18a4fc0bee21d3b08730d 100755
--- a/src/freedombone-image-customise
+++ b/src/freedombone-image-customise
@@ -612,6 +612,7 @@ initialise_mesh() {
 
     chroot "$rootdir" apt-get -yq install apt-transport-https
 
+    enable_predictable_device_names
     configure_firewall
     install_avahi
     install_batman
diff --git a/src/freedombone-utils-setup b/src/freedombone-utils-setup
index db1cdee2a2eab1f5aeee5db931c01aea082e2a98..c8850afc6de3613b9977f11b6baf1734d926d04f 100755
--- a/src/freedombone-utils-setup
+++ b/src/freedombone-utils-setup
@@ -660,6 +660,9 @@ function setup_utils {
     function_check remove_management_engine_interface
     remove_management_engine_interface
 
+    function_check enable_predictable_device_names
+    enable_predictable_device_names
+
     function_check separate_tmp_filesystem
     separate_tmp_filesystem 150
 
diff --git a/src/freedombone-utils-wifi b/src/freedombone-utils-wifi
index 2792948a0e458cc88740e7d918212f32ff49bd07..b46e8b5bec83ce1d9476e10643fb2e2b809103fc 100755
--- a/src/freedombone-utils-wifi
+++ b/src/freedombone-utils-wifi
@@ -39,6 +39,18 @@ WIFI_NETWORKS_FILE=~/${PROJECT_NAME}-wifi.cfg
 # repo for atheros AR9271 wifi driver
 ATHEROS_WIFI_REPO="https://github.com/qca/open-ath9k-htc-firmware.git"
 
+# Debian stretch has a problem where the formerly predictable wlan0 and eth0
+# device names get assigned random names. This is a hacky workaround.
+function enable_predictable_device_names {
+    if [ $rootdir ]; then
+        chroot "$rootdir" ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
+        chroot "$rootdir" update-initramfs -u
+    else
+        ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
+        update-initramfs -u
+    fi
+}
+
 function wifi_is_running {
     wifi_state=$(wpa_cli status)
     if [[ "$wifi_state" == *"COMPLETED"* ]]; then