diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp
index ba27eb75a..9af59e419 100644
--- a/src/core/loader/ncch.cpp
+++ b/src/core/loader/ncch.cpp
@@ -40,19 +40,17 @@ u32 LZSS_GetDecompressedSize(u8* buffer, u32 size) {
 bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32 decompressed_size) {
     u8* footer = compressed + compressed_size - 8;
     u32 buffer_top_and_bottom = *(u32*)footer;
-    u32 i, j;
     u32 out = decompressed_size;
     u32 index = compressed_size - ((buffer_top_and_bottom >> 24) & 0xFF);
-    u8 control;
     u32 stop_index = compressed_size - (buffer_top_and_bottom & 0xFFFFFF);
 
     memset(decompressed, 0, decompressed_size);
     memcpy(decompressed, compressed, compressed_size);
 
     while(index > stop_index) {
-        control = compressed[--index];
+       u8 control = compressed[--index];
 
-        for(i = 0; i < 8; i++) {
+        for(u32 i = 0; i < 8; i++) {
             if(index <= stop_index)
                 break;
             if(index <= 0)
@@ -76,13 +74,13 @@ bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32
                 if(out < segment_size) {
                     return false;
                 }
-                for(j = 0; j < segment_size; j++) {
-                    u8 data;
+                for(u32 j = 0; j < segment_size; j++) {
                     // Check if compression is out of bounds
                     if(out + segment_offset >= decompressed_size) {
                         return false;
                     }
-                    data  = decompressed[out + segment_offset];
+
+                    u8 data  = decompressed[out + segment_offset];
                     decompressed[--out] = data;
                 }
             } else {