diff --git a/.rootlogon.C b/.rootlogon.C
index 7055e9129f770742f8288bd5196505582a2ec46c..d4331f37ab4aba06fbd928c6e3d6a560f75c875f 100644
--- a/.rootlogon.C
+++ b/.rootlogon.C
@@ -7,8 +7,13 @@
 
   // setup a local build directory so we don't polute our source code with
   // ROOT dictionaries etc.
-  gSystem->Exec("mkdir -p /tmp/root_build");
-  gSystem->SetBuildDir("/tmp/root_build");
+  // note: don't do this for CI as this always fails the first time
+  //       we try to compile with a build_dir (as somehow the build_dir gets created only
+  //       after the compile files...)
+  const char* is_ci = gSystem->Getenv("CI");
+  if (!is_ci) {
+    gSystem->SetBuildDir("/tmp/root_build");
+  }
 
   // style definition based off the ATLAS style
   TStyle* s = gStyle;
diff --git a/benchmarks/dvmp/config.yml b/benchmarks/dvmp/config.yml
index b9e831fbe6a05ca40b88151ee9f8bb85e4384b11..d9ffba8196ed93d9e9c309fec0ebbcce23b57a0e 100644
--- a/benchmarks/dvmp/config.yml
+++ b/benchmarks/dvmp/config.yml
@@ -35,6 +35,10 @@ dvmp:process:
   artifacts:
     paths:
       - results
+  retry:
+    max: 2
+    when:
+      - runner_system_failure
 
 dvmp:results:
   stage: collect