diff --git a/src/context/arch/aarch64.rs b/src/context/arch/aarch64.rs
index 5a5278855ee38fe109c2478ba64ceae7d27b36ff..8ccf9e33e3fe1e71bc8c4b0ee03d76e82a8026a4 100644
--- a/src/context/arch/aarch64.rs
+++ b/src/context/arch/aarch64.rs
@@ -103,10 +103,6 @@ impl Context {
         self.lr = address;
     }
 
-    pub fn set_tcb(&mut self, pid: usize) {
-        self.tpidr_el0 = (crate::USER_TCB_OFFSET + pid * crate::PAGE_SIZE);
-    }
-
     pub fn set_fp(&mut self, address: usize) {
         self.fp = address;
     }
diff --git a/src/context/switch.rs b/src/context/switch.rs
index afb489ad8262719adff4d38dcb6d6d0cd1ce921a..62e4f25d6ac21d4461dbbc036d2e9bd6e5f3ee74 100644
--- a/src/context/switch.rs
+++ b/src/context/switch.rs
@@ -170,11 +170,6 @@ pub unsafe fn switch() -> bool {
                 gdt::set_tss_stack(stack.as_ptr() as usize + stack.len());
             }
         }
-        #[cfg(target_arch = "aarch64")]
-        {
-            let pid = to_context.id.into();
-            to_context.arch.set_tcb(pid);
-        }
         CONTEXT_ID.store(to_context.id, Ordering::SeqCst);
 
         if let Some(sig) = to_sig {