diff --git a/mk/prefix.mk b/mk/prefix.mk
index 17f8325674743cda57a0dd5a3435ef2cfe2e5a9a..aeecbbf36624d9f4bcee5e66061f7b24ac376d9d 100644
--- a/mk/prefix.mk
+++ b/mk/prefix.mk
@@ -80,6 +80,7 @@ $(PREFIX)/rust-install.tar.gz: $(PREFIX)/rust-install
 		--file "$@" \
 		--directory="$<" \
 		.
+
 ifeq ($(PREFIX_BINARY),1)
 
 $(PREFIX)/gcc-install.tar.gz:
@@ -91,6 +92,8 @@ $(PREFIX)/gcc-install: $(PREFIX)/gcc-install.tar.gz
 	rm -rf "$@.partial" "$@"
 	mkdir -p "$@.partial"
 	tar --extract --file "$<" --directory "$@.partial" --strip-components=1
+	[ -n "$$NIX_INTERPRETER" ] && find "$@.partial" -executable -type f -exec \
+		patchelf --set-interpreter "$$NIX_INTERPRETER" "{}" \;
 	touch "$@.partial"
 	mv "$@.partial" "$@"