diff --git a/MdeModulePkg/Core/Dxe/SysCall/AARCH64/InitializeAARCH64.c b/MdeModulePkg/Core/Dxe/SysCall/AARCH64/InitializeAARCH64.c
index c9bf740fc3..42ea8ac88f 100644
--- a/MdeModulePkg/Core/Dxe/SysCall/AARCH64/InitializeAARCH64.c
+++ b/MdeModulePkg/Core/Dxe/SysCall/AARCH64/InitializeAARCH64.c
@@ -54,6 +54,8 @@ SysCallBootService (
   EFI_STATUS              Status;
   EFI_PHYSICAL_ADDRESS    Physical;
 
+  ArmEnableInterrupts ();
+
   Status = CoreAllocatePages (
              AllocateAnyPages,
              EfiRing3MemoryType,
@@ -76,6 +78,8 @@ SysCallBootService (
 
   CoreFreePages (Physical, EFI_SIZE_TO_PAGES (9 * sizeof (UINTN)));
 
+  ArmDisableInterrupts ();
+
   return Status;
 }