diff --git a/x86_64/disk.asm b/x86_64/disk.asm
index 19b949c2dab604322c991bd2b6a3a8f43f676fef..1ef4cc36c957febb3a356be14a8a0d4005d78051 100644
--- a/x86_64/disk.asm
+++ b/x86_64/disk.asm
@@ -10,7 +10,7 @@ startup_start:
 %ifdef ARCH_x86_64
     %include "startup-x86_64.asm"
 %endif
-align BLOCK_SIZE, db 0
+align 512, db 0
 startup_end:
 
 %ifdef KERNEL
@@ -18,13 +18,16 @@ startup_end:
       %defstr KERNEL_STR %[KERNEL]
       incbin KERNEL_STR
     .end:
-    align BLOCK_SIZE, db 0
+    align 512, db 0
 %else
+    align BLOCK_SIZE, db 0
     %ifdef FILESYSTEM
-     filesystem:
-         %defstr FILESYSTEM_STR %[FILESYSTEM]
-         incbin FILESYSTEM_STR
-     .end:
-     align BLOCK_SIZE, db 0
+        filesystem:
+            %defstr FILESYSTEM_STR %[FILESYSTEM]
+            incbin FILESYSTEM_STR
+        .end:
+        align BLOCK_SIZE, db 0
+    %else
+        filesystem:
     %endif
 %endif
diff --git a/x86_64/partitions.asm b/x86_64/partitions.asm
index af91dfe4febefa407ec15923cd418f619bce4ec3..ba7c24186826aa148f3405f0375553f0d817793d 100644
--- a/x86_64/partitions.asm
+++ b/x86_64/partitions.asm
@@ -29,6 +29,6 @@ find_redoxfs_partition:
 .notfound:
     mov si, .no_partition_found_msg
     call print
-    mov eax, (startup_end - boot) / 512
+    mov eax, (filesystem - boot) / 512
     ret
 .no_partition_found_msg: db "No MBR partition with type 0x83 found", 0xA, 0xD, 0