flag.set(Request::UNCACHEABLE);
     }
 
+    if (currState->isSecure) {
+        flag.set(Request::SECURE);
+    }
+
     bool delayed;
     delayed = fetchDescriptor(l1desc_addr, (uint8_t*)&currState->l1Desc.data,
                               sizeof(uint32_t), flag, L1, &doL1DescEvent,
         flag.set(Request::UNCACHEABLE);
     }
 
-    if (currState->isSecure)
-        flag.set(Request::SECURE);
-
     currState->longDesc.lookupLevel = start_lookup_level;
     currState->longDesc.aarch64 = false;
     currState->longDesc.grainSize = Grain4KB;
         flag.set(Request::UNCACHEABLE);
     }
 
+    if (currState->isSecure) {
+        flag.set(Request::SECURE);
+    }
+
     currState->longDesc.lookupLevel = start_lookup_level;
     currState->longDesc.aarch64 = true;
     currState->longDesc.grainSize = tg;