diff --git a/src/arch/x86_64/macros.rs b/src/arch/x86_64/macros.rs
index 5ad34d8d4ce6d57d75f7bc599ecbb5d2a2eac6e7..dbbd424cbf89f61d3fda6ef87e951253bdfb68e1 100644
--- a/src/arch/x86_64/macros.rs
+++ b/src/arch/x86_64/macros.rs
@@ -281,7 +281,9 @@ impl InterruptStack {
         self.scratch.rcx = all.rcx;
         self.scratch.rax = all.rax;
         self.iret.rip = all.rip;
-        self.iret.cs = all.cs;
+
+        // These should probably be restricted
+        // self.iret.cs = all.cs;
         // self.iret.rflags = all.eflags;
     }
     /// Enables the "Trap Flag" in the FLAGS register, causing the CPU
diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs
index b91831a415ac39e41e18cab9ec3efc66ffa69caf..750ae64247116c74f242e0561f34af78d75d4957 100644
--- a/src/scheme/proc.rs
+++ b/src/scheme/proc.rs
@@ -26,20 +26,6 @@ use core::{
 };
 use spin::{Mutex, RwLock};
 
-#[derive(Clone, Copy)]
-enum RegsKind {
-    Float,
-    Int
-}
-#[derive(Clone)]
-enum Operation {
-    Memory(VirtualAddress),
-    Regs(RegsKind),
-    Trace {
-        clones: Vec<ContextId>
-    }
-}
-
 fn with_context<F, T>(pid: ContextId, callback: F) -> Result<T>
     where F: FnOnce(&Context) -> Result<T>
 {
@@ -101,6 +87,20 @@ fn try_stop_context<F, T>(pid: ContextId, restart_after: bool, mut callback: F)
     }
 }
 
+#[derive(Clone, Copy)]
+enum RegsKind {
+    Float,
+    Int
+}
+#[derive(Clone)]
+enum Operation {
+    Memory(VirtualAddress),
+    Regs(RegsKind),
+    Trace {
+        clones: Vec<ContextId>
+    }
+}
+
 #[derive(Clone, Copy)]
 struct Info {
     pid: ContextId,