diff --git a/repbuild/limine.cfg b/repbuild/limine.cfg
index 7f740f4..3b6a450 100644
--- a/repbuild/limine.cfg
+++ b/repbuild/limine.cfg
@@ -12,7 +12,7 @@ TERM_BACKDROP=008080
 :AbleOS
     COMMENT=Default AbleOS boot entry.
     PROTOCOL=limine
-    KERNEL_PATH=${ABLEOS_KERNEL}
+    KERNEL_PATH=${ABLEOS_KERNEL}_${ARCH}
     # execute is an array of boot modules to execute
     KERNEL_CMDLINE="execute=[0,1]"
     # Setting a default resolution for the framebuffer
diff --git a/repbuild/src/main.rs b/repbuild/src/main.rs
index e2b7f95..88d9ea2 100644
--- a/repbuild/src/main.rs
+++ b/repbuild/src/main.rs
@@ -147,10 +147,17 @@ fn build(release: bool, target: Target) -> Result<(), Error> {
         _ => (),
     }
 
+    let mut path: String = "kernel".to_string();
     let kernel_dir = match target {
-        Target::X86_64 => "target/x86_64-ableos",
+        Target::X86_64 => {
+            path.push_str("_x86-64");
+            "target/x86_64-ableos"
+        }
         Target::Riscv64Virt => "target/riscv64-virt-ableos",
-        Target::Aarch64 => "target/aarch64-virt-ableos",
+        Target::Aarch64 => {
+            path.push_str("_aarch64");
+            "target/aarch64-virt-ableos"
+        }
     };
 
     (|| -> std::io::Result<_> {
@@ -160,7 +167,7 @@ fn build(release: bool, target: Target) -> Result<(), Error> {
                     .join(if release { "release" } else { "debug" })
                     .join("kernel"),
             )?,
-            &mut fs.root_dir().create_file("kernel")?,
+            &mut fs.root_dir().create_file(&path)?,
         )
         .map(|_| ())
     })()