diff --git a/.gitmodules b/.gitmodules
index 3f4d88a8bc922dfa8026717ce54167885a440dbe..a43afd30d423f3ae6d22494b3e25eccacc52e8e1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,6 +10,7 @@
 	path = rust
 	url = https://gitlab.redox-os.org/redox-os/rust.git
 	branch = redox-2023-09-07
+	update = none
 [submodule "redoxfs"]
 	path = redoxfs
 	url = https://gitlab.redox-os.org/redox-os/redoxfs.git
diff --git a/mk/prefix.mk b/mk/prefix.mk
index 74c97e61824a19b02fbdd2638b4f04fa276ac944..9b84b3e0ff8fcfb57ed166e5ab534c4727d6db94 100644
--- a/mk/prefix.mk
+++ b/mk/prefix.mk
@@ -73,6 +73,9 @@ $(PREFIX)/rust-install: $(PREFIX)/rust-install.tar.gz
 
 else
 
+$(ROOT)/rust:
+	git submodule update --init --recursive --checkout rust
+
 PREFIX_BASE_INSTALL=$(PREFIX)/rust-freestanding-install
 PREFIX_FREESTANDING_INSTALL=$(PREFIX)/gcc-freestanding-install