diff --git a/PKGBUILD b/PKGBUILD
index 08513273c0f24481c2b6e4a08c5d868bd9c0df2f..a06211dbe72f0d82953354c4e321d249bb259f06 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -45,7 +45,10 @@ export CARGO_PROFILE_RELEASE_DEBUG=2
 
 prepare() {
   cd $pkgname
-  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+
+  # Match CARGO_HOME in src/meson.build
+  CARGO_HOME="$srcdir/build/cargo-home" \
+    cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
 }
 
 build() {