diff --git a/context/mod.rs b/context/mod.rs
index f563c051c50aa194a1825a905e37f0c768aefecb..c5daab2ba9c7b39d81b78f00ea72bbea45d75178 100644
--- a/context/mod.rs
+++ b/context/mod.rs
@@ -151,13 +151,11 @@ pub unsafe fn switch() {
         return;
     }
 
-    unsafe {
-        (&mut *from_ptr).running = false;
-        (&mut *to_ptr).running = true;
-        CONTEXT_ID.store((&mut *to_ptr).id, Ordering::SeqCst);
-        
-        (&mut *from_ptr).arch.switch_to(&mut (&mut *to_ptr).arch);
-    }
+    (&mut *from_ptr).running = false;
+    (&mut *to_ptr).running = true;
+    CONTEXT_ID.store((&mut *to_ptr).id, Ordering::SeqCst);
+
+    (&mut *from_ptr).arch.switch_to(&mut (&mut *to_ptr).arch);
 }
 
 /// A context, which identifies either a process or a thread