diff --git a/src/db/job/update.rs b/src/db/job/update.rs
index b4c82c108f151d40e6e6e24bc0ce6c8e10c46dc9..447c54befa426eb069841d640e75dc590bd1ab08 100644
--- a/src/db/job/update.rs
+++ b/src/db/job/update.rs
@@ -1,3 +1,4 @@
+use std::path::Path;
 use std::process::Command;
 use log::info;
 use rusqlite::Connection;
@@ -25,7 +26,7 @@ impl JobRequest {
         info!("Updating {id} with slurm ID {slurm_id}");
         conn
             .execute("UPDATE job SET slurm_id = ? WHERE intervene_id = ?",
-            &[&id, &slurm_id])
+            &[&slurm_id, &id])
             .expect("Update");
 
         Ok(())
@@ -44,13 +45,16 @@ impl JobRequest {
     }
 
     fn run_sbatch(&self, job_path: JobPath) -> String {
-        let wd = job_path.path.parent().unwrap().to_str().unwrap();
+        let wd = job_path.path.parent().unwrap();
+        let output_path = wd.join(Path::new("%j.out"));
+        let output_str = output_path.to_str().unwrap();
+        info!("Output path: {output_str}");
         let job_script_path = job_path.path.to_str().unwrap();
-        let arguments = vec!["--parsable", job_script_path];
 
-        let mut sbatch = Command::new("/usr/bin/sbatch");
+        let arguments = vec!["--parsable", "--output", output_str, job_script_path];
+
+        let mut sbatch = Command::new("sbatch");
         let cmd = sbatch.args(&arguments);
-        info!("Running sbatch process ");
         info!("{:?}", &cmd);
         let output = cmd.output().expect("failed to execute process").stdout;