diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b80dd590ab42b4019daa285a83ec89d978884006..c2d17349968826cdef3c86050d4b44fb07a9cd47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,4 +2,4 @@ test-job:
   stage: test
   script:
     - cargo test
-    - cargo test --features=cuda
+    - RUSTFLAGS="-C link-arg=-Wl,--no-as-needed" cargo build --features=cuda -vv
diff --git a/hercules_rt/build.rs b/hercules_rt/build.rs
index 459903c1d806e39fbbf0e71b252e0e8fc6a6e5f4..51fdfa2330b613e3c6304aad60108341472430c3 100644
--- a/hercules_rt/build.rs
+++ b/hercules_rt/build.rs
@@ -19,8 +19,8 @@ fn main() {
         println!("cargo::rustc-link-search=native={}", out_dir);
         println!("cargo::rustc-link-search=native=/usr/lib/x86_64-linux-gnu/");
         println!("cargo::rustc-link-search=native=/usr/local/cuda/lib64");
-        println!("cargo::rustc-link-lib=cudart");
         println!("cargo::rustc-link-lib=static=rtdefs");
+        println!("cargo::rustc-link-lib=cudart");
         println!("cargo::rerun-if-changed=src/rtdefs.cu");
     }
 }