diff --git a/src/core/hle/service/ldr/ldr.cpp b/src/core/hle/service/ldr/ldr.cpp
index 9f376657c6..64a526b9e9 100644
--- a/src/core/hle/service/ldr/ldr.cpp
+++ b/src/core/hle/service/ldr/ldr.cpp
@@ -46,7 +46,7 @@ constexpr std::size_t DATA_INDEX{2};
 struct NRRCertification {
     u64_le application_id_mask;
     u64_le application_id_pattern;
-    std::array<u8, 0x10> reserved;
+    INSERT_PADDING_BYTES(0x10);
     std::array<u8, 0x100> public_key; // Also known as modulus
     std::array<u8, 0x100> signature;
 };
@@ -55,16 +55,16 @@ static_assert(sizeof(NRRCertification) == 0x220, "NRRCertification has invalid s
 struct NRRHeader {
     u32_le magic;
     u32_le certification_signature_key_generation; // 9.0.0+
-    u64_le reserved;
+    INSERT_PADDING_WORDS(2);
     NRRCertification certification;
     std::array<u8, 0x100> signature;
     u64_le application_id;
     u32_le size;
     u8 nrr_kind; // 7.0.0+
-    std::array<u8, 3> reserved_2;
+    INSERT_PADDING_BYTES(3);
     u32_le hash_offset;
     u32_le hash_count;
-    u64_le reserved_3;
+    INSERT_PADDING_WORDS(2);
 };
 static_assert(sizeof(NRRHeader) == 0x350, "NRRHeader has invalid size.");
 
@@ -76,9 +76,9 @@ static_assert(sizeof(SegmentHeader) == 0x8, "SegmentHeader has invalid size.");
 
 struct NROHeader {
     // Switchbrew calls this "Start" (0x10)
-    u32_le unused;
+    INSERT_PADDING_WORDS(1);
     u32_le mod_offset;
-    u64_le padding;
+    INSERT_PADDING_WORDS(2);
 
     // Switchbrew calls this "Header" (0x70)
     u32_le magic;
@@ -88,10 +88,10 @@ struct NROHeader {
     // .text, .ro, .data
     std::array<SegmentHeader, 3> segment_headers;
     u32_le bss_size;
-    u32_le reserved;
+    INSERT_PADDING_WORDS(1);
     std::array<u8, 0x20> build_id;
     u32_le dso_handle_offset;
-    u32_le unused_2;
+    INSERT_PADDING_WORDS(1);
     // .apiInfo, .dynstr, .dynsym
     std::array<SegmentHeader, 3> segment_headers_2;
 };