Index: arch/ia32/src/pm.c
===================================================================
--- arch/ia32/src/pm.c	(revision 4790dbc55a32947cb1671f5bb3a4081add2e052d)
+++ arch/ia32/src/pm.c	(revision 11928d5ea4de28b59bb306148834413475d2daf6)
@@ -200,8 +200,8 @@
 	gdt_p[TSS_DES].access = AR_PRESENT | AR_TSS | DPL_KERNEL;
 	gdt_p[TSS_DES].special = 1;
-	gdt_p[TSS_DES].granularity = 1;
+	gdt_p[TSS_DES].granularity = 0;
 	
 	gdt_setbase(&gdt_p[TSS_DES], (__address) tss_p);
-	gdt_setlimit(&gdt_p[TSS_DES], sizeof(tss_t) - 1);
+	gdt_setlimit(&gdt_p[TSS_DES], TSS_BASIC_SIZE - 1);
 
 	/*
@@ -211,5 +211,5 @@
 	tr_load(selector(TSS_DES));
 	
-	clean_IOPL_NT_flags();    /* Disable I/O on nonprivileged levels */
+	clean_IOPL_NT_flags();    /* Disable I/O on nonprivileged levels and clear NT flag. */
 	clean_AM_flag();          /* Disable alignment check */
 }
Index: arch/ia32/src/proc/scheduler.c
===================================================================
--- arch/ia32/src/proc/scheduler.c	(revision 4790dbc55a32947cb1671f5bb3a4081add2e052d)
+++ arch/ia32/src/proc/scheduler.c	(revision 11928d5ea4de28b59bb306148834413475d2daf6)
@@ -37,4 +37,5 @@
 #include <arch/asm.h>
 #include <adt/bitmap.h>
+#include <print.h>
 
 /** Perform ia32 specific tasks needed before the new task is run.
@@ -56,5 +57,5 @@
 	if ((bits = TASK->arch.iomap.bits)) {
 		bitmap_t iomap;
-
+	
 		ASSERT(TASK->arch.iomap.map);
 		bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8);
