diff --git a/changes/bug26497-cd b/changes/bug26497-cd
new file mode 100644
index 0000000000000000000000000000000000000000..37bf1bc9565c6527828216919fd490c7eb1d1b39
--- /dev/null
+++ b/changes/bug26497-cd
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+    - cd to ${abs_top_builddir}/src/rust before running cargo in
+      src/test/test_rust.sh. This makes the working directory consistent
+      between builds and tests. Fixes bug 26497; bugfix on 0.3.3.2-alpha.
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index 2761b612b52b3438dcd27fce235bdb2d1377b69c..4afc84285f003dccf6ada2bebcf8be6a25468ac7 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -7,7 +7,7 @@ export LSAN_OPTIONS=suppressions=${abs_top_srcdir:-../../..}/src/test/rust_supp.
 
 for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do
     if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then
-	cd "${cargo_toml_dir}" && \
+	cd "${abs_top_builddir:-../../..}/src/rust" && \
 	    CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
 	    "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \
 	    ${EXTRA_CARGO_OPTIONS} \