diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs
index a53006d7492c56148660f40b73a477f3b3cf118a..b4a7c0102e596fcd8817542bc2786b421cb95e1b 100644
--- a/src/scheme/proc.rs
+++ b/src/scheme/proc.rs
@@ -1140,6 +1140,12 @@ impl Scheme for ProcScheme {
             Operation::AwaitingAddrSpaceChange { new, new_sp, new_ip } => {
                 stop_context(handle.info.pid, |context: &mut Context| unsafe {
                     if let Some(saved_regs) = ptrace::regs_for_mut(context) {
+                        #[cfg(target_arch = "aarch64")]
+                        {
+                            saved_regs.iret.elr_el1 = new_ip;
+                            saved_regs.iret.sp_el0 = new_sp;
+                        }
+
                         #[cfg(target_arch = "x86")]
                         {
                             saved_regs.iret.eip = new_ip;